lean4-htt/tests/lean/run/4928.lean

69 lines
1.4 KiB
Text

/--
error: tactic 'fail' failed
x y : Nat
⊢ x - 1 < x
-/
#guard_msgs in
def g (x : Nat) (y : Nat) : Nat := g (x - 1) y
termination_by x
decreasing_by fail
/--
error: tactic 'fail' failed
x : List Nat
y : Nat
⊢ sizeOf x.tail < sizeOf x
-/
#guard_msgs in
def h (x : List Nat) (y : Nat) : Nat := h x.tail y
termination_by x
decreasing_by fail
/--
error: tactic 'fail' failed
x : List Nat
y : Nat
⊢ x.tail.length < x.length
-/
#guard_msgs in
def f (x : List Nat) (y : Nat) : Nat := f x.tail y
termination_by x.length
decreasing_by fail
/--
error: tactic 'fail' failed
x : List Nat
y : Nat
⊢ x.tail.length < x.length
-/
#guard_msgs in
mutual
def f1 (x : List Nat) (y : Nat) : Nat := f2 x.tail y
termination_by x.length
decreasing_by fail
def f2 (x : List Nat) (y : Nat) : Nat := f1 x.tail y
termination_by x.length
decreasing_by fail
end
/--
error: tactic 'fail' failed
x : List Nat
y : Nat
⊢ (invImage
(fun x =>
PSum.casesOn x (fun _x => PSigma.casesOn _x fun x y => x.length) fun _x =>
PSigma.casesOn _x fun x y => x.length)
instWellFoundedRelationOfSizeOf).1
(PSum.inr ⟨x.tail, y⟩) (PSum.inl ⟨x, y⟩)
-/
#guard_msgs in
set_option debug.rawDecreasingByGoal true in
mutual
def g1 (x : List Nat) (y : Nat) : Nat := g2 x.tail y
termination_by x.length
decreasing_by fail
def g2 (x : List Nat) (y : Nat) : Nat := g1 x.tail y
termination_by x.length
decreasing_by fail
end