Nuprl Lemma : WfdSpread-induction

[Pos:Type]
  ((∀a,b:Pos.  Dec(a b ∈ Pos))
   (∀[Mv:Pos ⟶ Type]. ∀[P:WfdSpread(Pos;a.Mv[a]) ⟶ ℙ].
        ((∀a:Pos. ∀f:Mv[a] ⟶ WfdSpread(Pos;a.Mv[a]).  ((∀m:Mv[a]. P[f m])  P[mkW(a;f)]))
         (∀w:WfdSpread(Pos;a.Mv[a]). P[w]))))


Proof




Definitions occuring in Statement :  mkW: mkW(a;f) WfdSpread: WfdSpread(Pos;a.Mv[a]) decidable: Dec(P) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q all: x:A. B[x] member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] so_lambda: λ2y.t[x; y] uimplies: supposing a nat: so_apply: x[s1;s2] prop: ge: i ≥  decidable: Dec(P) or: P ∨ Q not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False top: Top and: P ∧ Q squash: T W_sel: W_sel(w;n;s) subgame: subgame(g;p;n) ifthenelse: if then else fi  eq_int: (i =z j) btrue: tt isr: isr(x) assert: b bfalse: ff true: True iff: ⇐⇒ Q rev_implies:  Q subtype_rel: A ⊆B guard: {T} mkW: mkW(a;f) MoveChoice: MoveChoice(Pos;a.Mv[a]) exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) eqof: eqof(d) sq_type: SQType(T) bnot: ¬bb le: A ≤ B less_than': less_than'(a;b) subtract: m seq-adjoin: s++t seq-append: seq-append(n;m;s1;s2) deq: EqDecider(T) nequal: a ≠ b ∈  less_than: a < b int_seg: {i..j-} lelt: i ≤ j < k isl: isl(x) WfdSpread: WfdSpread(Pos;a.Mv[a]) resigned: resigned(x)
Lemmas referenced :  basic_bar_induction MoveChoice_wf assert_wf isr_wf WfdSpread_wf unit_wf2 W_sel_wf int_seg_wf nat_wf true_wf equal_wf decidable__assert all_wf nat_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermAdd_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_add_lemma int_term_value_var_lemma int_formula_prop_wf le_wf seq-adjoin_wf mkW_wf decidable_wf false_wf deq-exists WfdSpread-ext subtype_rel_weakening bool_wf eqtt_to_assert safe-assert-deq subtype_rel-equal and_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot intformless_wf int_formula_prop_less_lemma ge_wf less_than_wf decidable-equal-deq subtract_wf itermSubtract_wf int_term_value_subtract_lemma member_wf eq_int_wf assert_of_eq_int intformeq_wf int_formula_prop_eq_lemma neg_assert_of_eq_int bnot_wf not_wf equal-wf-base int_subtype_base top_wf lelt_wf bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot add-member-int_seg2 squash_wf subtract-add-cancel add-subtract-cancel decidable__equal_int lt_int_wf assert_of_lt_int int_seg_properties btrue_wf isl_wf bfalse_wf btrue_neq_bfalse
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality sqequalRule lambdaEquality applyEquality hypothesis independent_isectElimination functionEquality natural_numberEquality setElimination rename unionEquality equalityTransitivity equalitySymmetry unionElimination dependent_functionElimination independent_functionElimination because_Cache cumulativity functionExtensionality dependent_set_memberEquality addEquality approximateComputation dependent_pairFormation int_eqEquality intEquality isect_memberEquality voidElimination voidEquality independent_pairFormation imageElimination imageMemberEquality baseClosed universeEquality productElimination promote_hyp productEquality inlEquality equalityElimination applyLambdaEquality instantiate inrEquality hyp_replacement intWeakElimination axiomEquality lessCases axiomSqEquality impliesFunctionality equalityUniverse levelHypothesis

Latex:
\mforall{}[Pos:Type]
    ((\mforall{}a,b:Pos.    Dec(a  =  b))
    {}\mRightarrow{}  (\mforall{}[Mv:Pos  {}\mrightarrow{}  Type].  \mforall{}[P:WfdSpread(Pos;a.Mv[a])  {}\mrightarrow{}  \mBbbP{}].
                ((\mforall{}a:Pos.  \mforall{}f:Mv[a]  {}\mrightarrow{}  WfdSpread(Pos;a.Mv[a]).    ((\mforall{}m:Mv[a].  P[f  m])  {}\mRightarrow{}  P[mkW(a;f)]))
                {}\mRightarrow{}  (\mforall{}w:WfdSpread(Pos;a.Mv[a]).  P[w]))))



Date html generated: 2019_06_20-PM-02_03_04
Last ObjectModification: 2018_08_21-PM-01_57_51

Theory : spread


Home Index