Nuprl Lemma : stump'-inductive

T:Type. ∀t:wfd-tree(T).
  (stump'(t)
  wfd-tree-rec(λn,s. (n =z 0);r.λn,s. if (n =z 0) then ff else (s 0) (n 1) i.(s (i 1))) fi ;t)
  ∈ (n:ℕ ⟶ (ℕn ⟶ T) ⟶ 𝔹))


Proof




Definitions occuring in Statement :  stump': stump'(t) wfd-tree-rec: wfd-tree-rec(b;r.F[r];t) wfd-tree: wfd-tree(T) int_seg: {i..j-} nat: ifthenelse: if then else fi  eq_int: (i =z j) bfalse: ff bool: 𝔹 all: x:A. B[x] apply: a lambda: λx.A[x] function: x:A ⟶ B[x] subtract: m add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] nat: implies:  Q bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a bfalse: ff exists: x:A. B[x] prop: or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False le: A ≤ B less_than': less_than'(a;b) not: ¬A ge: i ≥  int_upper: {i...} int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) iff: ⇐⇒ Q rev_implies:  Q subtype_rel: A ⊆B top: Top true: True sq_stable: SqStable(P) squash: T subtract: m so_apply: x[s] stump': stump'(t) stump: stump(t) empty-wfd-tree: empty-wfd-tree(t) band: p ∧b q wfd-tree-rec: wfd-tree-rec(b;r.F[r];t) W-rec: W-rec(a,f,r.F[a; f; r];w) Wsup: Wsup(a;b) less_than: a < b nequal: a ≠ b ∈ 
Lemmas referenced :  wfd-tree-induction equal_wf nat_wf int_seg_wf bool_wf stump'_wf wfd-tree-rec_wf eq_int_wf eqtt_to_assert assert_of_eq_int bfalse_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int int_upper_subtype_nat false_wf le_wf nat_properties nequal-le-implies zero-add decidable__lt not-lt-2 add_functionality_wrt_le add-commutes le-add-cancel lelt_wf subtract_wf decidable__le not-le-2 sq_stable__le condition-implies-le minus-one-mul minus-one-mul-top minus-add minus-minus add-associates add-swap add-member-int_seg2 add-zero le-add-cancel2 wfd-tree_wf all_wf wfd_tree_rec_leaf_lemma btrue_wf wfd_tree_rec_node_lemma int_subtype_base stump-nil le_antisymmetry_iff minus-zero le-add-cancel-alt less_than_transitivity1 less_than_irreflexivity bnot_wf stump_wf not-equal-2 less-iff-le int_upper_wf empty-wfd-tree_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality dependent_functionElimination sqequalRule lambdaEquality functionEquality hypothesis natural_numberEquality setElimination rename because_Cache cumulativity unionElimination equalityElimination productElimination independent_isectElimination equalityTransitivity equalitySymmetry dependent_pairFormation promote_hyp instantiate independent_functionElimination voidElimination hypothesis_subsumption dependent_set_memberEquality independent_pairFormation applyEquality functionExtensionality isect_memberEquality voidEquality intEquality imageMemberEquality baseClosed imageElimination addEquality minusEquality universeEquality applyLambdaEquality

Latex:
\mforall{}T:Type.  \mforall{}t:wfd-tree(T).
    (stump'(t)
    =  wfd-tree-rec(\mlambda{}n,s.  (n  =\msubz{}  0);r.\mlambda{}n,s.  if  (n  =\msubz{}  0)  then  ff  else  r  (s  0)  (n  -  1)  (\mlambda{}i.(s  (i  +  1)))  fi\000C  ;t))



Date html generated: 2017_04_14-AM-07_45_37
Last ObjectModification: 2017_02_27-PM-03_16_57

Theory : co-recursion


Home Index