lean4-htt/tests/lean/or_shortcircuit.lean
Leonardo de Moura d46cb80362 chore: fix tests
2021-03-11 11:35:51 -08:00

21 lines
420 B
Text

@[noinline] def c1 (x : Nat) : Bool :=
dbg_trace "executed c1"
x == 0
@[noinline] def c2 (x : Nat) : Bool :=
dbg_trace "executed c2"
x == 0
@[noinline] def c3 (x : Nat) : Bool :=
dbg_trace "executed c3"
x > 0
@[noinline] def f (x : Nat) := x + 1
def tst (x : Nat) : Nat := do
let x := if !c1 x || (!c2 x && c3 x) then f x else f (x+2)
match x with
| 0 => f (x+1)
| y+1 => f (y+3)
#eval tst 10