Nuprl Lemma : l_tree-ext

[L,T:Type].
  l_tree(L;T) ≡ lbl:Atom × if lbl =a "leaf" then L
                           if lbl =a "node" then val:T × left_subtree:l_tree(L;T) × l_tree(L;T)
                           else Void
                           fi 


Proof




Definitions occuring in Statement :  l_tree: l_tree(L;T) 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 l_tree: l_tree(L;T) 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 l_treeco_size: l_treeco_size(p) spreadn: spread3 nat: so_lambda: λ2x.t[x] so_apply: x[s] has-value: (a)↓ l_tree_size: l_tree_size(p) le: A ≤ B less_than': less_than'(a;b) not: ¬A
Lemmas referenced :  nat_properties l_tree_size_wf false_wf add-nat l_treeco_wf ifthenelse_wf l_tree_wf set-value-type has-value_wf-partial int-value-type value-type-has-value base_wf le_wf set_subtype_base nat_wf subtype_partial_sqtype_base l_treeco_size_wf int_subtype_base neg_assert_of_eq_atom assert-bnot bool_subtype_base bool_cases_sqequal equal_wf eqff_to_assert atom_subtype_base subtype_base_sq assert_of_eq_atom eqtt_to_assert bool_wf eq_atom_wf l_treeco-ext
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation independent_pairFormation lambdaEquality sqequalHypSubstitution setElimination thin rename cut lemma_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 equalityEquality callbyvalueAdd productEquality universeEquality voidEquality sqleReflexivity

Latex:
\mforall{}[L,T:Type].
    l\_tree(L;T)  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "leaf"  then  L
                                                      if  lbl  =a  "node"  then  val:T  \mtimes{}  left$_{subtree}$:l\_tree\000C(L;T)  \mtimes{}  l\_tree(L;T)
                                                      else  Void
                                                      fi 



Date html generated: 2016_05_16-AM-08_43_07
Last ObjectModification: 2016_01_17-AM-00_05_32

Theory : labeled!trees


Home Index