Thms normalization Sections ClassicalProps(jlc) Doc

list_rank Def (L) == reduce(x,y. (x)+y;0;L)

Thm* (Formula List)

formula_rank Def == (letrec formula_rank f = case f: x 0; p (formula_rank(p)+1); pq (formula_rank(p)+formula_rank(q)+1); pq (formula_rank(p)+formula_rank(q)+1); pq (formula_rank(p)+formula_rank(q)+1); )

Thm* Formula

reduce Def reduce(f;k;as) == Case of as; nil k ; a.as' f(a,reduce(f;k;as')) (recursive)

Thm* A,B:Type, f:(ABB), k:B, as:A List. reduce(f;k;as) B

formula_case Def case F: x varC(x); p1 notC(p1); p2p3 andC(p2;p3); p4p5 orC(p4;p5); p6p7 impC(p6;p7); == InjCase(F; x. varC(x); F. InjCase(F; p1. notC(p1); F. InjCase(F; x. x/p2,p3.andC(p2;p3); F. InjCase(F; x. x/p4,p5.orC(p4;p5), x/p6,p7.impC(p6;p7)))))

letrec_body Def = b == b

letrec_arg Def x b(x) (x) == b(x)

letrec Def (letrec f b(f)) == b((letrec f b(f)) ) (recursive)

About:
recursive_def_notice!abstractionapplydecidespreadlist_indall
universefunctionlistmembernatural_numberaddlambda