Nuprl Theory command

(only non hidden objects are presented)

DISPcom_df==
ABScom == rec(C.Unit + C C + Atom Exp + exp C C + exp C)
THMcom_wf
DISPskip_dfSKIP== SKIP
ABSskipSKIP == inl
THMskip_wfSKIP
DISPseq_df{[SOFT}{->0}<c1:com:*> {\\}<c2:com:*>{<-}{]}== <c1> <c2>
ABSseqc1; c2 == inr (inl <c1, c2> )
THMseq_wfc1,c2:. c1; c2
DISPassig_df<v:atom:*> := <e:exp:*>== <v> := <e>
ABSassigv := e == inr inr (inl <v, e> )
THMassig_wfv:Atom. e:Exp. v := e
DISPas_df<a:tok> := <e:exp:*>== <a> := <e>
ABSas$a := e == "$a" := e
MLas_tacadd_soft_abs ``as``;; let asC = UnfoldC `as`;; add_AbReduce_conv `as` asC;;
DISPif_df{[SOFT}{->0}IF {->0}<b:bexp:*> THEN {\\}<c1:com:*> {<-}{\\}ELS{->0}E {\\}<c2:com:*> {<-}{\\}{<-}{]} == IF <b> THEN <c1> ELSE <c2>
ABSifIF b THEN c1 ELSE c2 == inr inr inr (inl <b, c1, c2> )
THMif_wfb:exp. c1,c2:. IF b THEN c1 ELSE c2
DISPwhile_df{[SOFT}{->0}WHI{->0}LE <b:bexp:*> DO {\\}<c:com:*> {<-}{\\}OD{<-}{\\} {]} == WHILE <b> DO <c> OD
ABSwhileWHILE b DO c OD == inr inr inr inr <b, c>
THMwhile_wfb:exp. c:. WHILE b DO c OD
DISPcom_cases_df{[SOFT}{->0}case <c:com:*> {\\}of {->0}SKIP <skip_case:skip_case:*> {\\}<c1:var><c2:var> <seq_case:seq_case:*> {\\}<v:var> := <e:var> <assig_case:assig_case:*> {\\}IF (<b1:var>) <c3:var> ELSE <c4:var> <if_case:if_case:*> {\\}WHILE (<b2:var>) <c5:var> <while_case:while_case:*>{<-}{<-}{\\}{]} == case <c> of SKIP <skip_case> <c1><c2> <seq_case> <v> := <e> <assig_case> IF (<b1>) <c3> ELSE <c4> <if_case> WHILE (<b2>) <c5> <while_case>
ABScom_casescase c of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b1) c3 ELSE c4 if_case[b1; c3; c4] WHILE (b2) c5 while_case[b2; c5] == case c of inl(sk) => skip_case | inr(nsk) => case nsk of inl(se) => let <c1,c2> = se in seq_case[c1; c2] | inr(nse) => case nse of inl(as) => let <v,e> = as in assig_case[v; e] | inr(nas) => case nas of inl(i) => let <b1,c3 c4> = i in let <c3,c4 > = c3c4 in if_case[b1 ; c3; c4] | inr(wh) => let <b2,c 5> = wh in while_cas e[b2; c5]
THMcom_cases_wfT:. skip_case:T. seq_case: T. assig_case:Atom Exp T. if_case:exp T. while_case:exp T. c:. case c of SKIP skip_case c1;c2 seq_case[c1;c2] v := e assig_case[v;e] IF (b1) c3 ELSE c4 if_case[b1;c3;c4] WHILE (b2) c5 while_case[b2;c5] T
THMcom_cases_wf1T:'. skip_case:T. seq_case: T. assig_case:Atom Exp T. if_case:exp T. while_case:exp T. c:. case c of SKIP skip_case c1;c2 seq_case[c1;c2] v := e assig_case[v;e] IF (b1) c3 ELSE c4 if_case[b1;c3;c4] WHILE (b2) c5 while_case[b2;c5] T
MLcom_cases_eval1let com_cases_skipC = SimpleMacroC `com_cases_skip` case SKIP of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b) c1 ELSE c2 if_case[b; c1; c2] WHILE (b) c while_case[b; c] skip_case ``com_cases skip`` ;; let com_cases_seqC = SimpleMacroC `com_cases_seq` case x; y of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b) c1 ELSE c2 if_case[b; c1; c2] WHILE (b) c while_case[b; c] seq_case[x; y] ``com_cases seq`` ;; let com_cases_assigC = SimpleMacroC `com_cases_assig` case x := y of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b) c1 ELSE c2 if_case[b; c1; c2] WHILE (b) c while_case[b; c] assig_case[x; y] ``com_cases assig`` ;; let com_cases_ifC = SimpleMacroC `com_cases_if` case IF x THEN y ELSE z of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b) c1 ELSE c2 if_case[b; c1; c2] WHILE (b) c while_case[b; c] if_case[x; y; z] ``com_cases if`` ;;
MLcom_cases_eval2let com_cases_whileC = SimpleMacroC `com_cases_while` case WHILE x DO y OD of SKIP skip_case c1;c2 seq_case[c1; c2] v := e assig_case[v; e] IF (b) c1 ELSE c2 if_case[b; c1; c2] WHILE (b) c while_case[b; c] while_case[x; y] ``com_cases while`` ;; let com_casesC = FirstC [com_cases_skipC; com_cases_seqC; com_cases_assigC; com_cases_ifC; com_cases_whileC] ;; add_AbReduce_conv `com_cases` com_casesC ;;
THMcom_ind_tpT:. P: . P[SKIP] (c1,c2:. P[c1] P[c2] P[c1; c2]) (v:Atom. e:Exp. P[v := e]) (b:exp. c1,c2:. P[c1] P[c2] P[IF b THEN c1 ELSE c2 ]) (b:exp. c:. P[c] P[WHILE b DO c OD]) {c:. P[c]}
MLcom_ind_taclet ComInd i p = ByAnalogyWith1 `com_ind_tp` [`hr`, int_to_arg i] p;;
DISPis_skip_dfis_skip(<c:com:*>)== is_skip(<c>)
ABSis_skipis_skip(c) == case c of SKIP tt c1;c2 ff e1 := e2 ff IF (b) c1 ELSE c2 ff WHILE (b) c ff
THMis_skip_wfc:. is_skip(c)
MLis_skip_evallet is_skip_skipC = MacroC `is_skip_skip` (EvalC ``is_skip``) is_skip(SKIP) IdC tt;; let is_skip_seqC = MacroC `is_skip_seq` (EvalC ``is_skip``) is_skip(c1; c2) IdC ff;; let is_skip_assigC = MacroC `is_skip_assig` (EvalC ``is_skip``) is_skip(e1 := e2) IdC ff;; let is_skip_ifC = MacroC `is_skip_if` (EvalC ``is_skip``) is_skip(IF b THEN c1 ELSE c2 ) IdC ff;; let is_skip_whileC = MacroC `is_skip_while` (EvalC ``is_skip``) is_skip(WHILE b DO c OD) IdC ff;; add_AbReduce_conv `is_skip` (FirstC [is_skip_skipC; is_skip_seqC; is_skip_assigC; is_skip_ifC; is_skip_whileC]) ;;
THMis_skip_eq_skipc:. is_skip(c) c = SKIP

the other theories