19
19
-- A RecStruct describes the allowed structure of recursion. The
20
20
-- examples in Induction.Nat should explain what this is all about.
25
25
-- A recursor builder constructs an instance of a recursion structure
29
29
RecursorBuilder Rec = ∀ P → Rec P ⊆′ P → Universal (Rec P)
31
31
-- A recursor can be used to actually compute/prove something useful.
34
34
Recursor Rec = ∀ P → Rec P ⊆′ P → Universal P
36
36
-- And recursors can be constructed from recursor builders.
41
41
build builder P f x = f x (builder P f x)