Origin Definitions Sections DiscrMathExt Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
LogicSupplement
Nuprl Section: LogicSupplement - Some handy basic lemmas about propositions and about types.

Selected Objects
THMnegnegelim_vs_bivalence
Double negation elimination is equivalent to bivalence.
(P:Prop. P  P (P:Prop. P  P)
THMdisjunct_elim
P  Q  P  Q
THMor_fused
Q  Q  Q
THMguarded_prop_to_prop
The precise type of implication
Q:Prop(given P). P  Q  Prop
THMdecidable__cand
Q:Prop(given P). Dec(P (P  Dec(Q))  Dec(P & Q)
THMcand_is_prop
B:Prop(given A). (A & B Prop
defequiv_rel_sep
EquivRel on AR == EquivRel u,v:AR(u,v)
defallst
 x:A st P(x). Q(x) == x:AP(x Q(x)
defallst_implicit
Q(x) ==  x:A st P(x). Q(x)
defproduct_conventional_notation
product_conventional_notation(Ax.B(x)) == x:AB(x)
defquotient_sep
A/E == u,v:A//E(u,v)
THMdecbl_iff_some_bool
Dec(P (b:b  P)
defisect_two
Intersection of two types
AB == i:2. if i=0 A else B fi
THMnot_over_exists_imp
(x:TQ(x))  (x:TQ(x))
defexteq
Extensional equality between types
A =ext B == (x:Ax  B) & (x:Bx  A)
THMexteq_sigma_st_dom
B:(AType), P:(AProp).
(i:{i:AP(i) }B(i)) =ext {v:(i:AB(i))| P(v/x,y. x) }
THMsingleton_eq_in_self
x:{a:A}. x = a  {a:A}
THMsingleton_singleton_self
{a:{a:A}} =ext {a:A}
deffun_over_st
x:A st P(x)B(x) == x:{x:AP(x) }B(x)
definhabited
(type A has a member)
A == A
THMinhab_choice
(x:AB(x))  ((x:AB(x)))
THMinhab_rep_axiom
A:Type{i}. P = (A Prop
THMinhab_rep_eqv
F:(Prop{i}Prop{j}). (P:Prop{i}. F(P))  (A:Type{i}. F(A))
THMinhabited_vs_exists
(A (x:A. True)
definhabited_uniquely
(type A has exactly one member)
!A == {x:Ay:Ax = y }
THMinhabited_uniquely_vs_exists
(!A (x:Ay:Ax = y)
THMinhabited_uniquely_elim
(!A (x:Ay:Ax = y)
THMunique_fn_over_empty
(A (!(AB))
THMnot_sq_iff_sq
P  P
THMsq_not_iff_sq
(P P
THMdec_imp_dec_sq
Dec(P Dec(P)
THMsq_sq_iff_sq
P  P
THMset_inc_wrt_imp
(x:AB(x B'(x))  {x:AB(x) }  {x:AB'(x) }
defxor
P XOR Q == P  Q & (P & Q)
THMxor_vs_neg_n_dec
P XOR Q  (Q  P) & Dec(P)
THMexteq_subset_vs_and
{x:{x:AP(x) }| Q(x) } =ext {x:AP(x) & Q(x) }
THMsubset_exteq
(x:AB(x B'(x))  ({x:AB(x) } =ext {x:AB'(x) })
THMsubset_to_squash
x:{x:AB(x) }. B(x)
THMsquash_to_subset
x:AB(x x  {x:AB(x) }
THMset_inc_wrt_imp_sq
(x:AB(x B'(x))  {x:AB(x) }  {x:AB'(x) }
THMsubset_sq_exteq
(x:AB(x B'(x))  ({x:AB(x) } =ext {x:AB'(x) })
THMsubset_squash_exteq
{x:AP(x) } =ext {x:AP(x) }
THMifthenelse_distr_subtype
{x:A| if b P(x) else Q(x) fi } =ext if b {x:AP(x) } else {x:AQ(x) } fi
defis_discrete
(equality over type A is effectively decidable)
A Discrete == x,y:A. Dec(x = y)
THMdiscrete_vs_bool
(A Discrete)  (e:(AA). x,y:A. (x e y x = y)
THMdiscrete_vs_bool2
(A Discrete)  (e:(AA). IsEqFun(A;e))
defpure_let
A form for function application with a special place for the argument
let xa in b(x) == b(a)
defpure_let2
let xayb in c(x;y) == c(a;b)
THMno_prop_iff_its_neg
(Proof Gloss)
No proposition is equivalent to its own negation.
(P  P)
THMRussellsParadox_Frege
Russell's Paradox
There is no way to represent the all properties over a class by members of the class.
(A:Type, Q:(AAProp). P:(AProp). p:Ax:AQ(x,p P(x))
THMRussellsParadox_Frege2
Russell's Paradox
Full comprehension for sets is impossible. That is, there is no notion of set such that for every property of sets there is a set consisting of the sets having that property.
(Set:Type, :(SetSetProp).
(P:(SetProp). p:Setx:Set. (x  p P(x))
THMequivrel_characterization
A compact characterization of equivalence relations.
R:(AAProp). 
(EquivRel x,y:AR(x,y))

(x:AR(x,x) & (y:AR(x,y R(y,x) & (z:AR(y,z R(x,z))))
defis_the
(x is the unique A such that P(x))
x is the u:AP(u) == P(x) & (u:AP(u u = x)
defexists_unique
(there is a unique x in A such that P(x))
!x:AP(x) == x:A. x is the x:AP(x)
THMexists_unique_elim
P:(AProp). (!u:AP(u))  (y,z:AP(y P(z y = z)
THMdec_pred_iff_some_boolfun
A property is effectively decidable just when it is characterized by a boolean-valued function.
(x:T. Dec(E(x)))  (f:(T). x:Tf(x E(x))
THMdec_pred_imp_bool_decider_exists
P:(AType). (x:A. Dec(P(x)))  (!{p:(A)| x:Ap(x P(x) })
THMinhabited_uniquely_vs_exists_unique
(!A (!x:A. True)
THMindep_fun_extensional
Defintion of equality between functions.
f,g:(AB). f = g  (x:Af(x) = g(x))
THMdep_ax_choice_version2
A choice principle.
(x:Ay:B(x). Q(x,y))  (f:(x:AB(x)). x:AQ(x,f(x)))
THMfun_description
Existence of functions through description.
(x:A!y:B(x). P(x,y))  (f:(x:AB(x)). x:AP(x,f(x)))
THMunique_fun_description
B:(AType), P:(x:AB(x)Prop).
(x:A!y:B(x). P(x,y))  (!f:(x:AB(x)). x:AP(x,f(x)))
THMunique_fun_description2
B:(AType), P:(x:AB(x)Prop).
(x:A!y:B(x). P(x,y))  (!{f:(x:AB(x))| x:AP(x,f(x)) })
THMax_choice_version2
A choice principle.
(x:Ay:BQ(x,y))  (f:(AB). x:AQ(x,f(x)))
THMax_choice_version3
A choice principle.
(x:Ay:BQ(x,y))  (f:(AB). x:AQ(x,f(x)))
THMindep_fun_description
(x:A!y:BP(x,y))  (f:(AB). x:AP(x,f(x)))
THMunique_indep_fun_description
A,B:Type{i}, P:(ABProp{i}).
(x:A!y:BP(x,y))  (!f:(AB). x:AP(x,f(x)))
THMrange_restriction_dep
Typing a function with its range type.
B:(AType), f:(x:AB(x)). f  x:A{f(x):B(x)}
THMrange_restriction_indep
Typing a function with its range type.
f:(AB). f  A{y:Bx:Af(x) = y }
defdiagonalize
Diagonalization
(Diag f wrt ye(y))(x) == e(f(x,x))
THMdiagonalization
R:(BBProp), e:(BB).
(b:BR(e(b),b))

(A:Type, f:(AAB). (a:AR((Diag f wrt xe(x))(a),f(a,a))))
THMdiagonalization_wrt_eq
e:(BB). 
(b:Be(b) = b)

(A:Type, f:(AAB). (a:A. (Diag f wrt xe(x)) = f(a)))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections DiscrMathExt Doc