Built with Alectryon, running Coq+SerAPI. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.

Corner cases

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.

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.