Nuprl Lemma : tree-ext

[E:Type]. tree(E) ≡ lbl:Atom × if lbl =a "leaf" then if lbl =a "node" then left:tree(E) × tree(E) else Void fi 


Proof




Definitions occuring in Statement :  tree: tree(E) ifthenelse: if then else fi  eq_atom: =a y ext-eq: A ≡ B uall: [x:A]. B[x] product: x:A × B[x] token: "$token" atom: Atom void: Void universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] ext-eq: A ≡ B and: P ∧ Q subtype_rel: A ⊆B member: t ∈ T tree: tree(E) all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) uimplies: supposing a ifthenelse: if then else fi  sq_type: SQType(T) guard: {T} eq_atom: =a y bfalse: ff exists: x:A. B[x] prop: or: P ∨ Q bnot: ¬bb assert: b false: False treeco_size: treeco_size(p) nat: so_lambda: λ2x.t[x] so_apply: x[s] has-value: (a)↓ tree_size: tree_size(p) le: A ≤ B less_than': less_than'(a;b) not: ¬A
Lemmas referenced :  treeco-ext eq_atom_wf bool_wf eqtt_to_assert assert_of_eq_atom subtype_base_sq atom_subtype_base eqff_to_assert equal_wf bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_atom int_subtype_base treeco_size_wf subtype_partial_sqtype_base nat_wf set_subtype_base le_wf base_wf value-type-has-value int-value-type has-value_wf-partial set-value-type tree_wf ifthenelse_wf treeco_wf add-nat false_wf tree_size_wf nat_properties
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation independent_pairFormation lambdaEquality sqequalHypSubstitution setElimination thin rename cut introduction extract_by_obid hypothesis isectElimination hypothesisEquality promote_hyp productElimination hypothesis_subsumption applyEquality sqequalRule dependent_pairEquality tokenEquality lambdaFormation unionElimination equalityElimination equalityTransitivity equalitySymmetry independent_isectElimination because_Cache instantiate cumulativity atomEquality dependent_functionElimination independent_functionElimination dependent_pairFormation voidElimination dependent_set_memberEquality natural_numberEquality intEquality baseApply closedConclusion baseClosed callbyvalueAdd universeEquality productEquality voidEquality sqleReflexivity

Latex:
\mforall{}[E:Type]
    tree(E)  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "leaf"  then  E
                                              if  lbl  =a  "node"  then  left:tree(E)  \mtimes{}  tree(E)
                                              else  Void
                                              fi 



Date html generated: 2017_10_01-AM-08_30_25
Last ObjectModification: 2017_07_26-PM-04_24_33

Theory : tree_1


Home Index