Corner cases

date:

Test

To compile:

alectryon --stdin-filename corner_cases.rst --frontend rst \
  -o corner_cases.html - < corner_cases.rst
    # Coq → HTML; produces ‘corner_cases.html’
alectryon corner_cases.rst -o corner_cases.xe.tex \
  --latex-dialect xelatex
    # Coq → LaTeX; produces ‘corner_cases.xe.tex’

Goal names


True -> True /\ True
H: True

G1
True
H: True
True
H: True

G2
True
[G2]: exact I. Qed.

Hypothesis bodies


let a := let bb := let b := 1 in (b, b) in let tt := let t := nat in (t * t)%type in bb <: tt in fst a = snd a

let a := let bb := let b := 1 in (b, b) in let tt := let t := nat in (t * t)%type in bb <: tt in fst a = snd a
a:= let bb := let b := 1 in (b, b) in let tt := let t := nat in (t * t)%type in bb <: tt: let t := nat in t * t

fst a = snd a
reflexivity. Qed.

#a: - let bb := let b := 1 in (b, b) in let tt := let t := nat in (t * t)%type in bb <: tt - let t := nat in t * t

Self-reference

Definition a := 1.
a : nat

Blanks at beginning of snippet


True

True
exact I. Qed.

Blanks around sentences

Bubble:

(* xyz *) 

True /\ True

True /\ True

True /\ True
a:= 11: nat23

True /\ True
(* xyz *)
a:= 1: nat

True
a:= 1: nat
True
a:= 1: nat

True
a:= 1: nat

True
a:= 1: nat

True
(* x yz *) split.
a:= 1: nat

True
a:= 1: nat

True
split. } Qed. (* xyz *)

References

1, 2, 3, named_block.

Exercise directive

Unicode in code

Definition test := "◆ ◉ ▲ ◧ ◎ ◴ ▶ ■".

Nesting and indentation

  • Item

    Note

    Quote:

    • Item:

      nat : Set
      • Rocq

        Prop : Type