This PR fixes the generation of functional induction principles for functions with nested nested well-founded recursion and late fixed parameters. This is a follow-up for #7166. Fixes #8093.
13 lines
335 B
Text
13 lines
335 B
Text
axiom testSorry : α
|
||
|
||
def foo (n : Nat) (p : Nat) : Nat :=
|
||
foo (foo (n - 1) p) p
|
||
termination_by n
|
||
decreasing_by all_goals exact testSorry
|
||
|
||
/--
|
||
info: foo.induct (p : Nat) (motive : Nat → Prop) (case1 : ∀ (x : Nat), motive (x - 1) → motive (foo (x - 1) p) → motive x)
|
||
(n : Nat) : motive n
|
||
-/
|
||
#guard_msgs in
|
||
#check foo.induct
|