- wellfounded_def
-
|- !R. wellfounded R = ~(?f. !n. R (f (n + 1)) (f n))
- WF_DEF
-
|- !R. WF R = (!B. (?w. B w) ==> (?min. B min /\ (!b. R b min ==> ~(B b))))
- inv_image_def
-
|- !R f. inv_image R f = (\x y. R (f x) (f y))
- X_DEF
-
|- !R1 R2. R1 X R2 = (\(s,t) (u,v). R1 s u \/ (s = u) /\ R2 t v)
- RPROD_DEF
-
|- !R1 R2. RPROD R1 R2 = (\(s,t) (u,v). R1 s u /\ R2 t v)
- Empty_def
-
|- !x y. Empty x y = F
- measure_def
-
|- measure = inv_image $<
- RESTRICT_DEF
-
|- !f R x. (f % R,x) = (\y. (R y x) => (f y) | (@v. T))
- approx_def
-
|- !R M x f. approx R M x f = f = ((\y. M (f % R,y) y) % R,x)
- the_fun_def
-
|- !R M x. the_fun R M x = (@f. approx R M x f)
- WFREC_DEF
-
|- !R M. WFREC R M = (\x. M (the_fun (TC R) (\f v. M (f % R,v) v) x % R,x) x)
- PAIR_CASE_DEF
-
|- !f x y. PAIR_CASE f (x,y) = f x y
- WF_IFF_WELLFOUNDED
-
|- !R. WF R = wellfounded R
- WF_POLY
-
|- !R. WF R ==> (?min. !b. ~(R b min))
- WF_INDUCTION_THM
-
|- !R. WF R ==> (!P. (!x. (!y. R y x ==> P y) ==> P x) ==> (!x. P x))
- WF_SUBSET
-
|- !R P. WF R /\ (!x y. P x y ==> R x y) ==> WF P
- WF_TC
-
|- !R. WF R ==> WF (TC R)
- WF_inv_image
-
|- !R f. WF R ==> WF (inv_image R f)
- WF_X
-
|- !R Q. WF R /\ WF Q ==> WF (R X Q)
- WF_RPROD
-
|- !R Q. WF R /\ WF Q ==> WF (RPROD R Q)
- WF_Empty
-
|- WF Empty
- WF_PRED
-
|- WF (\x y. y = SUC x)
- WF_LESS
-
|- WF $<
- WF_measure
-
|- !m. WF (measure m)
- WF_LIST_PRED
-
|- WF (\L1 L2. ?h. L2 = CONS h L1)
- RESTRICT_LEMMA
-
|- !f R y z. R y z ==> ((f % R,z) y = f y)
- WFREC_THM
-
|- !R M. WF R ==> (!x. WFREC R M x = M (WFREC R M % R,x) x)
- WFREC_COROLLARY
-
|- !M R f. (f = WFREC R M) ==> WF R ==> (!x. f x = M (f % R,x) x)
- WF_RECURSION_THM
-
|- !R. WF R ==> (!M. ?!f. !x. f x = M (f % R,x) x)