- is_tree_rules
-
⊢ (∀a. is_tree (λp. INL a)) ∧
∀f b.
(∀d. is_tree (f d)) ⇒
is_tree (λp. if p = [] then INR b else f (HD p) (TL p))
- is_tree_ind
-
⊢ ∀is_tree'.
(∀a. is_tree' (λp. INL a)) ∧
(∀f b.
(∀d. is_tree' (f d)) ⇒
is_tree' (λp. if p = [] then INR b else f (HD p) (TL p))) ⇒
∀a0. is_tree a0 ⇒ is_tree' a0
- is_tree_strongind
-
⊢ ∀is_tree'.
(∀a. is_tree' (λp. INL a)) ∧
(∀f b.
(∀d. is_tree (f d) ∧ is_tree' (f d)) ⇒
is_tree' (λp. if p = [] then INR b else f (HD p) (TL p))) ⇒
∀a0. is_tree a0 ⇒ is_tree' a0
- is_tree_cases
-
⊢ ∀a0.
is_tree a0 ⇔
(∃a. a0 = (λp. INL a)) ∨
∃f b.
a0 = (λp. if p = [] then INR b else f (HD p) (TL p)) ∧
∀d. is_tree (f d)
- iNd_is_tree
-
⊢ ∀b f. is_tree (λp. if p = [] then INR b else from_inftree (f (HD p)) (TL p))
- inftree_11
-
⊢ (iLf a1 = iLf a2 ⇔ a1 = a2) ∧ (iNd b1 f1 = iNd b2 f2 ⇔ b1 = b2 ∧ f1 = f2)
- inftree_distinct
-
⊢ iLf a ≠ iNd b f
- inftree_ind
-
⊢ ∀P. (∀a. P (iLf a)) ∧ (∀b f. (∀d. P (f d)) ⇒ P (iNd b f)) ⇒ ∀t. P t
- relrec_rules
-
⊢ (∀lf nd a. relrec lf nd (iLf a) (lf a)) ∧
∀lf nd b df g.
(∀d. relrec lf nd (df d) (g d)) ⇒ relrec lf nd (iNd b df) (nd b g)
- relrec_ind
-
⊢ ∀relrec'.
(∀lf nd a. relrec' lf nd (iLf a) (lf a)) ∧
(∀lf nd b df g.
(∀d. relrec' lf nd (df d) (g d)) ⇒
relrec' lf nd (iNd b df) (nd b g)) ⇒
∀a0 a1 a2 a3. relrec a0 a1 a2 a3 ⇒ relrec' a0 a1 a2 a3
- relrec_strongind
-
⊢ ∀relrec'.
(∀lf nd a. relrec' lf nd (iLf a) (lf a)) ∧
(∀lf nd b df g.
(∀d. relrec lf nd (df d) (g d) ∧ relrec' lf nd (df d) (g d)) ⇒
relrec' lf nd (iNd b df) (nd b g)) ⇒
∀a0 a1 a2 a3. relrec a0 a1 a2 a3 ⇒ relrec' a0 a1 a2 a3
- relrec_cases
-
⊢ ∀a0 a1 a2 a3.
relrec a0 a1 a2 a3 ⇔
(∃a. a2 = iLf a ∧ a3 = a0 a) ∨
∃b df g. a2 = iNd b df ∧ a3 = a1 b g ∧ ∀d. relrec a0 a1 (df d) (g d)
- inftree_Axiom
-
⊢ ∀lf nd. ∃f. (∀a. f (iLf a) = lf a) ∧ ∀b d. f (iNd b d) = nd b d (f ∘ d)
- inftree_nchotomy
-
⊢ ∀t. (∃a. t = iLf a) ∨ ∃b d. t = iNd b d