Nuprl Lemma : PZF-induction
∀C:Type
  ∀[F:PZF-Formula(C) ⟶ ℙ]. ∀[T:PZF-Term(C) ⟶ ℙ].
    ((∀name:Atom. T[Vname])
    
⇒ (∀value:C. T[Const(value)])
    
⇒ (∀x:Atom. ∀phi:PZF-Formula(C).  (F[phi] 
⇒ PZF-safe(phi;[x]) 
⇒ T[{x | phi}]))
    
⇒ (∀a,b:PZF-Term(C).  (T[a] 
⇒ T[b] 
⇒ F[a = b]))
    
⇒ (∀a,b:PZF-Term(C).  (T[a] 
⇒ T[b] 
⇒ F[a ∈ b]))
    
⇒ (∀a,b:PZF-Formula(C).  (F[a] 
⇒ F[b] 
⇒ F[a ∧ b)]))
    
⇒ (∀a,b:PZF-Formula(C).  (F[a] 
⇒ F[b] 
⇒ F[a ∨ b]))
    
⇒ (∀a:PZF-Formula(C). (F[a] 
⇒ F[¬(a)]))
    
⇒ (∀a:PZF-Formula(C). ∀x:Atom.  (F[a] 
⇒ F[∀x. a]))
    
⇒ (∀a:PZF-Formula(C). ∀x:Atom.  (F[a] 
⇒ F[∃x. a]))
    
⇒ ((∀phi:PZF-Formula(C). F[phi]) ∧ (∀t:PZF-Term(C). T[t])))
Proof
Definitions occuring in Statement : 
PZF-Formula: PZF-Formula(C)
, 
PZF-Term: PZF-Term(C)
, 
PZF-safe: PZF-safe(phi;vs)
, 
FormExists: ∃var. body
, 
FormAll: ∀var. body
, 
FormNot: ¬(body)
, 
FormOr: left ∨ right
, 
FormAnd: left ∧ right)
, 
FormMember: element ∈ set
, 
FormEqual: left = right
, 
FormSet: {var | phi}
, 
FormConst: Const(value)
, 
FormVar: Vname
, 
cons: [a / b]
, 
nil: []
, 
uall: ∀[x:A]. B[x]
, 
prop: ℙ
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
and: P ∧ Q
, 
function: x:A ⟶ B[x]
, 
atom: Atom
, 
universe: Type
Definitions unfolded in proof : 
true: True
, 
FormExists: ∃var. body
, 
FormAll: ∀var. body
, 
FormNot: ¬(body)
, 
FormOr: left ∨ right
, 
FormAnd: left ∧ right)
, 
FormMember: element ∈ set
, 
FormEqual: left = right
, 
band: p ∧b q
, 
FormSet: {var | phi}
, 
FormConst: Const(value)
, 
wfFormAux: wfFormAux(f)
, 
Form_ind: Form_ind, 
FormVar: Vname
, 
wfForm: wfForm(f)
, 
SafeForm: SafeForm(f)
, 
termForm: termForm(f)
, 
not: ¬A
, 
PZF-Formula: PZF-Formula(C)
, 
false: False
, 
assert: ↑b
, 
bnot: ¬bb
, 
guard: {T}
, 
sq_type: SQType(T)
, 
or: P ∨ Q
, 
exists: ∃x:A. B[x]
, 
bfalse: ff
, 
subtype_rel: A ⊆r B
, 
PZF-Form: PZF-Form(C)
, 
cand: A c∧ B
, 
PZF-Term: PZF-Term(C)
, 
so_apply: x[s]
, 
prop: ℙ
, 
ifthenelse: if b then t else f fi 
, 
uimplies: b supposing a
, 
and: P ∧ Q
, 
uiff: uiff(P;Q)
, 
btrue: tt
, 
it: ⋅
, 
unit: Unit
, 
bool: 𝔹
, 
so_lambda: λ2x.t[x]
, 
member: t ∈ T
, 
implies: P 
⇒ Q
, 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
rev_uimplies: rev_uimplies(P;Q)
, 
iff: P 
⇐⇒ Q
, 
rev_implies: P 
⇐ Q
Lemmas referenced : 
istype-universe, 
PZF-Formula_wf, 
PZF-Term_wf, 
FormVar_wf, 
istype-atom, 
FormConst_wf, 
FormSet_wf2, 
PZF-safe_wf, 
FormEqual_wf2, 
FormMember_wf2, 
FormAnd_wf2, 
FormOr_wf2, 
FormNot_wf2, 
FormAll_wf2, 
FormExists_wf2, 
wfFormAux_wf, 
bfalse_wf, 
nil_wf, 
cons_wf, 
PZF_safe_wf, 
btrue_wf, 
band_wf, 
bool_cases, 
istype-true, 
Form_wf, 
istype-void, 
assert-bnot, 
bool_subtype_base, 
bool_wf, 
subtype_base_sq, 
bool_cases_sqequal, 
eqff_to_assert, 
istype-assert, 
SafeForm_wf, 
wfForm_wf, 
assert_wf, 
eqtt_to_assert, 
termForm_wf, 
Form-induction, 
assert_of_band, 
wfFormAux-unique, 
assert_elim, 
btrue_neq_bfalse, 
assert_functionality_wrt_uiff, 
assert-PZF_safe, 
bool_sim_true, 
iff_imp_equal_bool, 
assert_of_ff
Rules used in proof : 
universeEquality, 
natural_numberEquality, 
atomEquality, 
universeIsType, 
functionIsType, 
voidElimination, 
independent_functionElimination, 
cumulativity, 
instantiate, 
dependent_functionElimination, 
promote_hyp, 
equalityIstype, 
dependent_pairFormation_alt, 
equalitySymmetry, 
equalityTransitivity, 
rename, 
setElimination, 
productIsType, 
independent_pairFormation, 
dependent_set_memberEquality_alt, 
applyEquality, 
because_Cache, 
functionEquality, 
independent_isectElimination, 
productElimination, 
equalityElimination, 
unionElimination, 
inhabitedIsType, 
hypothesis, 
lambdaEquality_alt, 
sqequalRule, 
hypothesisEquality, 
thin, 
isectElimination, 
sqequalHypSubstitution, 
extract_by_obid, 
introduction, 
cut, 
isect_memberFormation_alt, 
lambdaFormation_alt, 
sqequalReflexivity, 
computationStep, 
sqequalTransitivity, 
sqequalSubstitution, 
isect_memberEquality_alt
Latex:
\mforall{}C:Type
    \mforall{}[F:PZF-Formula(C)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[T:PZF-Term(C)  {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}name:Atom.  T[Vname])
        {}\mRightarrow{}  (\mforall{}value:C.  T[Const(value)])
        {}\mRightarrow{}  (\mforall{}x:Atom.  \mforall{}phi:PZF-Formula(C).    (F[phi]  {}\mRightarrow{}  PZF-safe(phi;[x])  {}\mRightarrow{}  T[\{x  |  phi\}]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  =  b]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  \mmember{}  b]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mwedge{}  b)]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mvee{}  b]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  (F[a]  {}\mRightarrow{}  F[\mneg{}(a)]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mforall{}x.  a]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mexists{}x.  a]))
        {}\mRightarrow{}  ((\mforall{}phi:PZF-Formula(C).  F[phi])  \mwedge{}  (\mforall{}t:PZF-Term(C).  T[t])))
Date html generated:
2020_05_20-AM-09_12_40
Last ObjectModification:
2020_01_28-PM-05_25_34
Theory : PZF
Home
Index