Nuprl Lemma : MultiTreeco-ext

[T:Type]
  MultiTreeco(T) ≡ lbl:Atom × if lbl =a "Node" then labels:{L:Atom List| 0 < ||L||}  × ({a:Atom| (a ∈ labels)}  ⟶ Multi\000CTreeco(T))
                              if lbl =a "Leaf" then T
                              else Void
                              fi 


Proof




Definitions occuring in Statement :  MultiTreeco: MultiTreeco(T) l_member: (x ∈ l) length: ||as|| list: List ifthenelse: if then else fi  eq_atom: =a y ext-eq: A ≡ B less_than: a < b uall: [x:A]. B[x] set: {x:A| B[x]}  function: x:A ⟶ B[x] product: x:A × B[x] natural_number: $n token: "$token" atom: Atom void: Void universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T MultiTreeco: MultiTreeco(T) so_lambda: λ2x.t[x] prop: so_apply: x[s] uimplies: supposing a continuous-monotone: ContinuousMonotone(T.F[T]) and: P ∧ Q type-monotone: Monotone(T.F[T]) subtype_rel: A ⊆B all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] strong-type-continuous: Continuous+(T.F[T]) type-continuous: Continuous(T.F[T]) ext-eq: A ≡ B
Lemmas referenced :  corec-ext ifthenelse_wf eq_atom_wf list_wf less_than_wf length_wf l_member_wf subtype_rel_product bool_wf eqtt_to_assert assert_of_eq_atom subtype_rel_dep_function set_wf eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_atom subtype_rel_wf strong-continuous-depproduct strong-continuous-function continuous-id continuous-constant subtype_rel_weakening nat_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lemma_by_obid sqequalHypSubstitution isectElimination thin sqequalRule lambdaEquality productEquality atomEquality instantiate hypothesisEquality tokenEquality hypothesis universeEquality setEquality natural_numberEquality functionEquality setElimination rename voidEquality independent_isectElimination independent_pairFormation because_Cache lambdaFormation unionElimination equalityElimination productElimination dependent_pairFormation equalityTransitivity equalitySymmetry promote_hyp dependent_functionElimination independent_functionElimination voidElimination cumulativity equalityEquality axiomEquality isect_memberEquality isectEquality applyEquality independent_pairEquality

Latex:
\mforall{}[T:Type]
    MultiTreeco(T)  \mequiv{}  lbl:Atom  \mtimes{}  if  lbl  =a  "Node"
                                                                then  labels:\{L:Atom  List|  0  <  ||L||\} 
                                                                          \mtimes{}  (\{a:Atom|  (a  \mmember{}  labels)\}    {}\mrightarrow{}  MultiTreeco(T))
                                                            if  lbl  =a  "Leaf"  then  T
                                                            else  Void
                                                            fi 



Date html generated: 2016_05_16-AM-08_52_21
Last ObjectModification: 2015_12_28-PM-06_54_43

Theory : C-semantics


Home Index