lean4-htt/tests/lean/eagerCoeExpansion.lean.expected.out
Kyle Miller 29303b37b8
feat: have raw nat lits pretty print with nat_lit when pp.explicit is set (#7805)
This PR modifies the pretty printing of raw natural number literals; now
both `pp.explicit` and `pp.natLit` enable the `nat_lit` prefix. An
effect of this is that the hover on such a literal in the Infoview has
the `nat_lit` prefix.

Amendment to RFC #3021: In the reference-level explanation, now it
should read

> When `pp.natLit` and `pp.explicit` are false, then the `nat_lit n`
expression delaborates as `n`, and otherwise it delaborates as `nat_lit
n`.
2025-04-03 20:38:09 +00:00

25 lines
994 B
Text

def h : BV 32 → Array Bool :=
fun x => (fun x => g (f x).val) x
def r : Nat → Prop :=
fun a => if (a == 0) = true then (a != 1) = true else (a != 2) = true
def r : Nat → Prop :=
fun (a : Nat) =>
@ite.{1} Prop
(@Eq.{1} Bool
(@BEq.beq.{0} Nat (@instBEqOfDecidableEq.{0} Nat instDecidableEqNat) a
(@OfNat.ofNat.{0} Nat (nat_lit 0) (instOfNatNat (nat_lit 0))))
Bool.true)
(instDecidableEqBool
(@BEq.beq.{0} Nat (@instBEqOfDecidableEq.{0} Nat instDecidableEqNat) a
(@OfNat.ofNat.{0} Nat (nat_lit 0) (instOfNatNat (nat_lit 0))))
Bool.true)
(@Eq.{1} Bool
(@bne.{0} Nat (@instBEqOfDecidableEq.{0} Nat instDecidableEqNat) a
(@OfNat.ofNat.{0} Nat (nat_lit 1) (instOfNatNat (nat_lit 1))))
Bool.true)
(@Eq.{1} Bool
(@bne.{0} Nat (@instBEqOfDecidableEq.{0} Nat instDecidableEqNat) a
(@OfNat.ofNat.{0} Nat (nat_lit 2) (instOfNatNat (nat_lit 2))))
Bool.true)
def s : Option Nat :=
myFun.f 3 <|> myFun.f 4