Nuprl Lemma : add-sz_wf

∀[P:Type]. ∀[X:P ⟶ Type]. ∀[sz:i:P ⟶ (X i) ⟶ partial(ℕ)]. ∀[L:(P + P + Type) List].
∀[x:tuple-type(map(λx.case x of inl(y) => case y of inl(p) => X p | inr(p) => (X p) List | inr(E) => E;L))].
  (add-sz(sz;L;x) ∈ partial(ℕ))


Proof




Definitions occuring in Statement :  add-sz: add-sz(sz;L;x),  tuple-type: tuple-type(L),  map: map(f;as),  list: T List,  partial: partial(T),  nat: ℕ,  uall: ∀[x:A]. B[x],  member: t ∈ T,  apply: f a,  lambda: λx.A[x],  function: x:A ⟶ B[x],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  union: left + right,  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  add-sz: add-sz(sz;L;x),  all: ∀x:A. B[x],  implies: P ⇒ Q,  nat: ℕ,  le: A ≤ B,  and: P ∧ Q,  less_than': less_than'(a;b),  false: False,  not: ¬A
Lemmas referenced :  tuple-sum-wf-partial,  list_wf,  l_sum-wf-partial-nat,  map_wf,  partial_wf,  nat_wf,  nat-partial-nat,  istype-false,  istype-le,  tuple-type_wf,  istype-universe
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  Error :isect_memberFormation_alt,  introduction,  cut,  thin,  instantiate,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  unionEquality,  cumulativity,  hypothesisEquality,  universeEquality,  Error :lambdaEquality_alt,  equalityTransitivity,  hypothesis,  equalitySymmetry,  Error :inhabitedIsType,  Error :lambdaFormation_alt,  unionElimination,  sqequalRule,  applyEquality,  Error :equalityIstype,  dependent_functionElimination,  independent_functionElimination,  Error :unionIsType,  Error :universeIsType,  functionExtensionality,  Error :dependent_set_memberEquality_alt,  natural_numberEquality,  independent_pairFormation,  because_Cache,  axiomEquality,  Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  Error :functionIsType

Latex:
\mforall{}[P:Type].  \mforall{}[X:P  {}\mrightarrow{}  Type].  \mforall{}[sz:i:P  {}\mrightarrow{}  (X  i)  {}\mrightarrow{}  partial(\mBbbN{})].  \mforall{}[L:(P  +  P  +  Type)  List].
\mforall{}[x:tuple-type(map(\mlambda{}x.case  x
                                              of  inl(y)  =>
                                              case  y  of  inl(p)  =>  X  p  |  inr(p)  =>  (X  p)  List
                                              |  inr(E)  =>
                                              E;L))].
    (add-sz(sz;L;x)  \mmember{}  partial(\mBbbN{}))



Date html generated: 2019_06_20-PM-02_04_13
Last ObjectModification: 2019_02_22-AM-11_23_13

Theory : tuples


Home Index