Nuprl Lemma : win2-iff

g:SimpleGame. (win2(g) ⇐⇒ ∀p:{p:Pos(g)| Legal1(InitialPos(g);p)} . ∃q:{q:Pos(g)| Legal2(p;q)} win2(g@q))


Proof




Definitions occuring in Statement :  sg-change-init: g@j win2: win2(g) sg-legal2: Legal2(x;y) sg-legal1: Legal1(x;y) sg-init: InitialPos(g) sg-pos: Pos(g) simple-game: SimpleGame all: x:A. B[x] exists: x:A. B[x] iff: ⇐⇒ Q set: {x:A| B[x]} 
Definitions unfolded in proof :  all: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q implies:  Q win2: win2(g) member: t ∈ T nat_plus: + decidable: Dec(P) or: P ∨ Q uall: [x:A]. B[x] uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top prop: false: False subtype_rel: A ⊆B nat: subtract: m rev_implies:  Q strat2play: strat2play(g;n;s) eq_int: (i =z j) ifthenelse: if then else fi  btrue: tt cand: c∧ B le: A ≤ B less_than': less_than'(a;b) seq-len: ||s|| pi1: fst(t) seq-cons: seq-cons(a;s) seq-nil: seq-nil() seq-item: s[i] pi2: snd(t) sg-init: InitialPos(g) play-item: moves[i] bfalse: ff int_seg: {i..j-} lelt: i ≤ j < k play-len: ||moves|| so_lambda: λ2x.t[x] so_apply: x[s] ge: i ≥  win2strat: win2strat(g;n) bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) simple-game: SimpleGame sg-pos: Pos(g) sg-change-init: g@j spreadn: spread4 true: True guard: {T} squash: T less_than: a < b sq_type: SQType(T) sequence: sequence(T) seq-truncate: seq-truncate(s;n) play-truncate: play-truncate(f;m) bnot: ¬bb assert: b sg-legal1: Legal1(x;y) nequal: a ≠ b ∈  sq_stable: SqStable(P) sg-reachable: sg-reachable(g;x;y) sg-legal2: Legal2(x;y)
Lemmas referenced :  win2strat-properties decidable__lt full-omega-unsat intformnot_wf intformless_wf itermConstant_wf istype-int int_formula_prop_not_lemma istype-void int_formula_prop_less_lemma int_term_value_constant_lemma int_formula_prop_wf istype-less_than decidable__le intformle_wf int_formula_prop_le_lemma istype-le istype-nat win2strat_wf sg-pos_wf sg-legal1_wf sg-init_wf win2_wf respond-implies-win2 sg-legal2_wf sg-change-init_wf simple-game_wf seq-cons_wf seq-nil_wf istype-false seq-len_wf seq-item_wf intformand_wf itermVar_wf int_formula_prop_and_lemma int_term_value_var_lemma play-len_wf int_subtype_base subtype_rel_sets_simple play-item_wf nat_properties ge_wf subtract-1-ge-0 eq_int_wf equal-wf-base bool_wf assert_wf bnot_wf not_wf istype-assert intformeq_wf int_formula_prop_eq_lemma strat2play_wf subtract_wf itermSubtract_wf int_term_value_subtract_lemma uiff_transitivity eqtt_to_assert assert_of_eq_int iff_transitivity iff_weakening_uiff eqff_to_assert assert_of_bnot itermAdd_wf int_term_value_add_lemma add-subtract-cancel sg-reachable_wf le_wf le-add-cancel add-zero add_functionality_wrt_le add-commutes add-swap add-associates minus-minus minus-add minus-one-mul-top zero-add minus-one-mul condition-implies-le less-iff-le not-le-2 strat2play_subtype sequence_subtype omega-shadow not-lt-2 two-mul add-mul-special one-mul le_reflexive not-equal-implies-less zero-mul mul-distributes-right mul-associates set_subtype_base le_weakening2 seq-cons-item nat_wf subtype_base_sq strat2play-invariant-1 mul-commutes mul-distributes le-add-cancel-alt mul-swap mul_preserves_le itermMultiply_wf int_term_value_mul_lemma bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int decidable__equal_int le-add-cancel2 add-is-int-iff not-equal-2 le_antisymmetry_iff decidable__int_equal istype-universe true_wf squash_wf equal_wf int_seg_wf minus-zero sq_stable__le lelt_wf subtype_rel_self iff_weakening_equal subtract-add-cancel strat2play-invariant seq-tl-len seq-add_wf seq-tl_wf nat_plus_wf nat_plus_properties lt_int_wf assert_of_lt_int less_than_wf seq-add-item seq-add-len seq-tl-item mod2-2n mod2-2n-plus-1 nat_plus_subtype_nat multiply_nat_wf add_nat_wf multiply-is-int-iff
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  independent_pairFormation rename sqequalHypSubstitution cut introduction extract_by_obid dependent_functionElimination thin hypothesisEquality Error :dependent_set_memberEquality_alt,  natural_numberEquality hypothesis unionElimination isectElimination independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  Error :isect_memberEquality_alt,  voidElimination sqequalRule Error :universeIsType,  applyEquality equalityTransitivity equalitySymmetry Error :isectIsType,  productElimination Error :setIsType,  Error :functionIsType,  Error :productIsType,  because_Cache setElimination Error :inhabitedIsType,  Error :equalityIstype,  int_eqEquality baseClosed sqequalBase applyLambdaEquality Error :isect_memberFormation_alt,  intWeakElimination axiomEquality Error :functionIsTypeImplies,  intEquality baseApply closedConclusion dependentIntersection_memberEquality equalityElimination addEquality minusEquality imageElimination imageMemberEquality multiplyEquality Error :equalityIsType4,  promote_hyp sqequalIntensionalEquality Error :equalityIsType1,  cumulativity instantiate Error :equalityIsType2,  universeEquality hyp_replacement Error :functionExtensionality_alt,  Error :dependent_pairEquality_alt

Latex:
\mforall{}g:SimpleGame
    (win2(g)  \mLeftarrow{}{}\mRightarrow{}  \mforall{}p:\{p:Pos(g)|  Legal1(InitialPos(g);p)\}  .  \mexists{}q:\{q:Pos(g)|  Legal2(p;q)\}  .  win2(g@q))



Date html generated: 2019_06_20-PM-00_55_57
Last ObjectModification: 2019_01_02-PM-03_42_52

Theory : co-recursion-2


Home Index