Skip to content

Alectryon displays local definitions (with set, pose) as declarations #94

@Casteran

Description

@Casteran

In the following proof, alectryon AlectryonIssue.v --backend latex builds a document where the variable z is presented as a simple declaration z: nat and not z := Nat.max x y : nat, which makes the displayed sub-goals apparently unsolvable.

Require Import Arith Lia.

(* begin snippet LProof *)
 Lemma L: forall x y, exists z:nat, x <= z /\ y <= z.
 Proof.  
  intros x y; pose (z := Nat.max x y). 
  exists z. 
  split; lia.
 Qed.  
(* end snippet LProof *)

Indeed, the displayed sub-goal

x, y: nat    z:nat
---------------
x <= z /\ y <= z

is unsolvable, but if the definition z := max x y: nat were displayed, the generated doc would be OK.

I noticed this issue only in Latex output mode. My alectryon version is Alectryon v1.5.0-dev

Note: this issue occurs also in the CI of hydra-battles on the top of page 227 of the doc (file https://github.com/coq-community/hydra-battles/blob/master/theories/ordinals/MoreAck/AckNotPR.v ).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions