sequent rank Sections ClassicalProps(jlc) Doc

C Def s.C == s.2

Thm* s:Sequent. s.C Formula List

Sequent Def Sequent == (Formula List)(Formula List)

Thm* Sequent Type

Formula Def Formula == rec(formula.Var+formula+(formulaformula)+(formulaformula)+(formulaformula))

Thm* Formula Type

H Def s.H == s.1

Thm* s:Sequent. s.H Formula List

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

Thm* (Formula List)

nat Def == {i:| 0i }

Thm* Type

Var Def Var == Atom

Thm* Var Type

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

le Def AB == B < A

Thm* i,j:. ij Prop

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)

not Def A == A False

Thm* A:Prop. (A) Prop

About:
!abstractionimpliesfalseallpropmemberrecursive_def_noticeapply
decidespreadless_thanintlist_induniversefunctionlist
natural_numberaddatomsetlambdarecunionproduct