Nuprl Theory Three

(only non hidden objects are presented)

DISPthree_df3== 3
ABSthree3 == 3
THMthree_wf3
DISPThree_df==
ABSThree == Unit + ?Unit
THMThree_wf
DISPThree_0_df3== 3
ABSThree_03 == inl
THMThree_0_wf3
DISPThree_1_df3== 3
ABSThree_13 == inr (inl )
THMThree_1_wf3
DISPThree_2_df3== 3
ABSThree_23 == inr inr
THMThree_2_wf3
DISPThree_case_dfcase{->0} <T:Three:L>: 3 <case0:3 case:L> 3 <case1:3 case:L> ; 3 <case2:3 case:L> == case <T>: 3 <case0> 3 <case1> 3 <case2>
ABSThree_casecase x: 3 case0; 3 case1; 3 case2; == case x of inl(zero) => case0 | inr(one_or_two) => case one_or_two of inl(one) => case1 | inr(two) => case2
MLThree_case_unrolllet get_three_case_arg = fst o fst o dest_term o snd o hd o snd o dest_term;; let three_caseC t = let arg = (get_three_case_arg t) in (FwdMacroC (concat `Three_case_` (concat arg `_unrollC`)) (AllC [UnfoldC `Three_case`; UnfoldC arg; ReduceC]) t) ;; let Three_case_unrollC = FirstC[three_caseC case 3: 3 case0; 3 case1; 3 case2;; three_caseC case 3: 3 case0; 3 case1; 3 case2;; three_caseC case 3: 3 case0; 3 case1; 3 case2;] ;; add_AbReduce_conv `Three_case` Three_case_unrollC;;
MLThreeCaselet ThreeCases i p = (let i = get_pos_hyp_num i p in let f = (\n. D i THEN Fold `it` 0 THEN Fold n 0 THEN UnivCD THENA Auto) in MoveDepHypsToConclFor (\i. D (i) THENL [f `Three_0`; D (i) THENL [f `Three_1`; f `Three_2`]]) i THENA Auto ) p ;;
MLThree_indlet ThreeInd i p = (let j = get_pos_hyp_num i p in let AllFolds l = (Repeat (TryOnAllHyps (\i. Folds l i) THEN Try (Folds l 0))) in Unfold `Three` j THEN D j THENL [Id; D j] THEN UnitInd j THENL [ AllFolds ``Three_0``; AllFolds ``Three_1``; AllFolds ``Three_2``] ) p ;;
THMThree_ind_extx:. True
MLThree_eq_contradicitonlet mk_Three_case v = mk_simple_term `Three_case` [mvt v; 0; 1; 2] ;; let ThreeNEQ i p = let j = get_pos_hyp_num i p in let v = maybe_new_var `x' (declared_vars p) in (ApFunToHypEquands v (mk_Three_case v) j THENA Auto THENL [ThreeInd (-1) THEN AbReduce 0 THEN Auto; AbReduce (-1) THEN Auto]) p ;;
THMThree_eq_contradiction_ext(3 = 3)
THMThree_case_wf_0t:. t':{j}. t'':{k}. c:t. c':t'. c'':t''. case 3: 3 c; 3 c'; 3 c''; t
THMThree_case_wf_1t:. t':{j}. t'':{k}. c:t. c':t'. c'':t''. case 3: 3 c'; 3 c''; 3 c; t''
THMThree_case_wf_2t:. t':{j}. t'':{k}. c:t. c':t'. c'':t''. case 3: 3 c; 3 c'; 3 c''; t''
THMdecidable__equal_Threex,y:. Dec(x = y)

the other theories