Open
Description
The following seems to be a mild regression:
val _ = Datatype`inum = inum num | infty`;
val ilt_def = Define`
(ilt (inum x) (inum y) <=> x < y) ∧
(ilt (inum _) infty <=> T) ∧
(ilt infty _ <=> F)
`;
giving as return value
Equations stored under "ilt_def".
Induction stored under "ilt_ind".
val ilt_def =
|- ∀y x v1 v0.
(ilt (inum x) (inum y) ⇔ x < y) ∧ (ilt (inum v0) infty ⇔ T) ∧
(ilt infty v1 ⇔ F):
thm
Notice how the universal quantifiers have been lifted to the top-level. Once upon a time, they used to stick with the relevant clauses. This breaks some old code (easily fixed), but is also a tad on the ugly side.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.