Nuprl Theory j_signature

(only non hidden objects are presented)

DISPj_act_cor_dfJActCor( < x:j_type:* > )== JActCor( < x > )
ABSj_act_corJActCor(x) == case x of bool - > | int - > | Exception - > Atom | Class(n) - > Void | t[] - >
THMj_act_cor_wff:Atom . x:Type. JActCor(x)
MLj_act_cor_evallet j_act_cor_boolC = SimpleMacroC `j_act_cor_bool` JActCor(boolean) ``type_cases bool_type j_act_cor``;; let j_act_cor_intC = SimpleMacroC `j_act_cor_int` JActCor(int) ``type_cases int_type j_act_cor``;; let j_act_cor_excC = SimpleMacroC `j_act_cor_exc` JActCor(Exception) Atom ``type_cases exc_type j_act_cor``;; let j_act_cor_classC = SimpleMacroC `j_act_cor_class` JActCor(Class(n)) Void ``type_cases class_type j_act_cor``;; let j_act_cor_arrayC = SimpleMacroC `j_act_cor_array` JActCor(t[]) ``type_cases array_type j_act_cor``;; let j_act_corC = FirstC [j_act_cor_boolC; j_act_cor_intC; j_act_cor_excC; j_act_cor_classC; j_act_cor_arrayC] ;; add_AbReduce_conv `j_act_cor` j_act_corC ;;
DISPj_eq_act_cor_df( < a:a:* > =ac < b:b:* > wrt < x:j_type:* > )== ( < a > =ac < b > ) ( < a:a:* > =ac < b:b:* > )== ( < a > =ac < b > )
ABSj_eq_act_cor(a =ac b) == case x of bool - > a =b b | int - > (a = b) | Exception - > a =a b | Class(n) - > tt | t[] - > (a = b)
MLj_eq_act_cor_evallet j_eq_act_cor_boolC = SimpleMacroC `j_eq_act_cor_bool` (a =ac b) a =b b ``type_cases bool_type j_eq_act_cor``;; let j_eq_act_cor_intC = SimpleMacroC `j_eq_act_cor_int` (a =ac b) (a = b) ``type_cases int_type j_eq_act_cor``;; let j_eq_act_cor_excC = SimpleMacroC `j_eq_act_cor_exc` (a =ac b) a =a b ``type_cases exc_type j_eq_act_cor``;; let j_eq_act_cor_classC = SimpleMacroC `j_eq_act_cor_class` (a =ac b) tt ``type_cases class_type j_eq_act_cor``;; let j_eq_act_cor_arrayC = SimpleMacroC `j_eq_act_cor_array` (a =ac b) (a = b) ``type_cases array_type j_eq_act_cor``;; let j_eq_act_corC = FirstC [j_eq_act_cor_boolC; j_eq_act_cor_intC; j_eq_act_cor_excC; j_eq_act_cor_classC; j_eq_act_cor_arrayC] ;; add_AbReduce_conv `j_eq_act_cor` j_eq_act_corC ;;
THMj_eq_act_cor_wff:Atom . x:Type. a,b:JActCor(x). (a =ac b)
THMassert_of_j_eq_act_corf:Atom . x:Type. a,b:JActCor(x). (a =ac b) a = b
DISPj_cor_dfJCor( < x:jtype:* > )== JCor( < x > )
ABSj_corJCor(x) == ?JActCor(x)
THMj_cor_wff:Atom . x:Type. JCor(x)
THMcomb_for_j_cor_wf(f,x,z.JCor(x)) f:(Atom ) x:Type True
MLj_cor_evallet j_cor_boolC = SimpleMacroC `j_cor_bool` JCor(boolean) ? ``type_cases bool_type j_act_cor j_cor``;; let j_cor_intC = SimpleMacroC `j_cor_int` JCor(int) ? ``type_cases int_type j_act_cor j_cor``;; let j_cor_excC = SimpleMacroC `j_cor_exc` JCor(Exception) ?Atom ``type_cases exc_type j_act_cor j_cor``;; let j_cor_classC = SimpleMacroC `j_cor_class` JCor(Class(n)) ?Void ``type_cases class_type j_act_cor j_cor``;; let j_cor_arrayC = SimpleMacroC `j_cor_array` JCor(t[]) ? ``type_cases array_type j_act_cor j_cor``;; let j_corC = FirstC [j_cor_boolC; j_cor_intC; j_cor_excC; j_cor_classC; j_cor_arrayC] ;; add_AbReduce_conv `j_cor` j_corC ;;
MLj_cor_hdlet JCorHD i = MoveDepHypsToConcl i THEN D i THENL [RenameVarUsingArg `x` `a' i THEN Fold `j_ac` 0; D i THEN Thin i THEN Fold `it` 0 THEN Fo ld `j_c` 0];;
DISPj_c_dfJc== Jc
ABSj_cJc == inr
THMj_c_wff:Atom . x:Type. Jc JCor(x)
DISPj_ac_dfJac( < a:a:* > )== Jac( < a > )
ABSj_acJac(a) == inl a
THMj_ac_wff:Atom . x:Type. a:JActCor(x). Jac(a) JCor(x)
THMcomb_for_j_ac_wf(f,x,a,z.Jac(a)) f:(Atom ) x:Type a:JActCor(x) True JCor(x)
DISPj_cor_cases_df{[SOFT}{- > 0}case < x:jcor:* > {\\}of Jc - > < c:term:* > {\\} | Jac( < a:var > ) - > < ac:term:* > {\\}{ < -}{]} == case < x > of Jc - > < c > | Jac( < a > ) - > < ac >
ABSj_cor_casescase x of Jc - > c | Jac(a) - > ac[a] == case x of inl(a) = > ac[a] | inr(i) = > c
MLj_cor_cases_evallet j_cor_cases_cC = SimpleMacroC `j_cor_cases_c` case Jc of Jc - > c | Jac(a) - > ac[a] c ``j_cor_cases j_c``;; let j_cor_cases_acC = SimpleMacroC `j_cor_cases_ac` case Jac(a) of Jc - > c | Jac(a) - > ac[a] ac[a] ``j_cor_cases j_ac``;; let j_cor_casesC = FirstC [j_cor_cases_cC; j_cor_cases_acC] ;; add_AbReduce_conv `j_cor_cases` j_cor_casesC ;;
THMj_cor_cases_wff:Atom . x:Type. T:. c:T. ac:JActCor(x) T. a:JCor(x). case a of Jc - > c | Jac(a) - > ac[a] T
DISPj_eq_cor_df( < a:jcor:* > =c < b:jcor:* > wrt < x:jtype:* > )== ( < a > =c < b > ) ( < a:jcor:* > =c < b:jcor:* > )== ( < a > =c < b > )
ABSj_eq_cor(a =c b) == case a of Jc - > case b of Jc - > tt | Jac(u) - > ff | Jac(ac) - > case b of Jc - > ff | Jac(bc) - > (ac =ac bc)
THMj_eq_cor_wff:Atom . x:Type. a,b:JCor(x). (a =c b)
THMcomb_for_j_eq_cor_wf(f,x,a,b,z.(a =c b)) f:(Atom ) x:Type a:JCor(x) b:JCor(x) True
THMassert_of_j_eq_corf:Atom . x:Type. a,b:JCor(x). (a =c b) a = b
THMj_eq_cor_reflf:Atom . x:Type. a:JCor(x). (a =c a)
THMj_eq_cor_iff_eqf:Atom . x:Type. a,b:JCor(x). (a =c b) a = b
DISPj_idx_dfJIdx( < x:jtype:* > ; < s:spec:* > )== JIdx( < x > ) JIdx( < x:x:* > )== JIdx( < x > )
ABSj_idxJIdx(x) == case x of bool - > Void | int - > Void | Exception - > Void | Class(n) - > {a:Atom| isl(s n a)} | t[] - >
THMj_idx_wff:Atom . s:Spec. x:Type. JIdx(x)
THMcomb_for_j_idx_wf(f,s,x,z.JIdx(x)) f:(Atom ) s:Spec x:Type True
MLj_idx_evallet j_idx_boolC = SimpleMacroC `j_idx_bool` JIdx(boolean) Void ``type_cases bool_type j_idx`` ;; let j_idx_intC = SimpleMacroC `j_idx_int` JIdx(int) Void ``type_cases int_type j_idx`` ;; let j_idx_excC = SimpleMacroC `j_idx_exc` JIdx(Exception) Void ``type_cases exc_type j_idx`` ;; let j_idx_classC = SimpleMacroC `j_idx_class` JIdx(Class(n)) {a:Atom| isl(s n a)} ``type_cases class_type j_idx`` ;; let j_idx_arrayC = SimpleMacroC `j_idx_array` JIdx(t[]) ``type_cases array_type j_idx`` ;; let j_idxC = FirstC [j_idx_boolC; j_idx_intC; j_idx_excC; j_idx_classC; j_idx_arrayC] ;; add_AbReduce_conv `j_idx` j_idxC ;;
DISPj_eq_idx_df( < i:idx:* > =i < j:idx:* > wrt < x:x:* > )== ( < i > =i < j > ) ( < i:idx:* > =i < j:idx:* > )== ( < i > =i < j > )
ABSj_eq_idx(i =i j) == case x of bool - > tt | int - > tt | Exception - > tt | Class(n) - > i =a j | t[] - > (i = j)
MLj_eq_idx_evallet j_eq_idx_boolC = SimpleMacroC `j_eq_idx_bool` (i =i j) tt ``type_cases bool_type j_eq_idx``;; let j_eq_idx_intC = SimpleMacroC `j_eq_idx_int` (i =i j) tt ``type_cases int_type j_eq_idx``;; let j_eq_idx_excC = SimpleMacroC `j_eq_idx_exc` (i =i j) tt ``type_cases exc_type j_eq_idx``;; let j_eq_idx_classC = SimpleMacroC `j_eq_idx_class` (i =i j) i =a j ``type_cases class_type j_eq_idx``;; let j_eq_idx_arrayC = SimpleMacroC `j_eq_idx_array` (i =i j) (i = j) ``type_cases array_type j_eq_idx``;; let j_eq_idxC = FirstC [j_eq_idx_boolC; j_eq_idx_intC; j_eq_idx_excC; j_eq_idx_classC; j_eq_idx_arrayC] ;; add_AbReduce_conv `j_eq_idx` j_eq_idxC ;;
THMj_eq_idx_wff:Atom . s:Spec. x:Type. i,j:JIdx(x). (i =i j)
THMcomb_for_j_eq_idx_wf(f,s,x,i,j,z.(i =i j)) f:(Atom ) s:Spec x:Type i:JIdx(x) j:JIdx(x) True
THMassert_j_eq_idxf:Atom . s:Spec. x:Type. i,j:JIdx(x). (i =i j) i = j
THMj_eq_idx_reflf:Atom . x:Type. s:Spec. i:JIdx(x). (i =i i)
THMj_eq_idx_iff_eqf:Atom . x:Type. s:Spec. i,j:JIdx(x). (i =i j) i = j
DISPj_fld_dfJfld( < x:type:* > . < i:idx:* > wrt < s:spec:* > )== Jfld( < x > . < i > ) Jfld( < x:type:* > . < i:idx:* > )== Jfld( < x > . < i > )
ABSj_fldJfld(x.i) == case x of bool - > boolean | int - > int | Exception - > Exception | Class(n) - > outl(s n i) | t[] - > t
MLj_fld_evallet j_fld_boolC = SimpleMacroC `j_fld_bool` Jfld(boolean.i) boolean ``type_cases bool_type j_fld``;; let j_fld_intC = SimpleMacroC `j_fld_int` Jfld(int.i) int ``type_cases int_type j_fld``;; let j_fld_excC = SimpleMacroC `j_fld_exc` Jfld(Exception.i) Exception ``type_cases exc_type j_fld``;; let j_fld_classC = SimpleMacroC `j_fld_class` Jfld(Class(n).i) outl(s n i) ``type_cases class_type j_fld``;; let j_fld_arrayC = SimpleMacroC `j_fld_array` Jfld(t[].i) t ``type_cases array_type j_fld``;; let j_fldC = FirstC [j_fld_boolC; j_fld_intC; j_fld_excC; j_fld_classC; j_fld_arrayC] ;; add_AbReduce_conv `j_fld` j_fldC ;;
THMj_fld_wff:Atom . s:Spec. x:Type. i:JIdx(x). Jfld(x.i) Type
DISPj_sign_dfJSign( < f:f:* > ; < s:s:* > )== JSign( < f > ; < s > )
ABSj_signJSign(f;s) == < Type , t.JCor(t) , t.Jc , t.JIdx(t) , t,i.Jfld(t.i) , t1,t2.(t1 =t t2) , t1,c1,t2,c2.if (t1 =t t2) then (c1 =c c2) else ff fi , t1,i1,t2,i2.if (t1 =t t2) then (i1 =i i2) else ff fi >
THMj_sign_wff:Atom . s:Spec. JSign(f;s) Sign
THMj_sign_regf:Atom . s:Spec. Reg(JSign(f;s))

the other theories