Nuprl Lemma : respond-implies-win2

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


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] implies:  Q set: {x:A| B[x]} 
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q exists: x:A. B[x] win2: win2(g) uall: [x:A]. B[x] member: t ∈ T nat: false: False ge: i ≥  guard: {T} uimplies: supposing a prop: win2strat: win2strat(g;n) subtype_rel: A ⊆B top: Top not: ¬A decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q uiff: uiff(P;Q) subtract: m le: A ≤ B less_than': less_than'(a;b) true: True pi1: fst(t) bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff int_seg: {i..j-} lelt: i ≤ j < k squash: T sq_type: SQType(T) play-item: moves[i] nat_plus: + less_than: a < b spreadn: spread4 sg-change-init: g@j sg-pos: Pos(g) simple-game: SimpleGame sequence: sequence(T) play-truncate: play-truncate(f;m) play-len: ||moves|| seq-item: s[i] seq-truncate: seq-truncate(s;n) seq-len: ||s|| pi2: snd(t) eq_int: (i =z j) sq_stable: SqStable(P) sg-reachable: sg-reachable(g;x;y) so_lambda: λ2x.t[x] so_apply: x[s] istype: istype(T) cand: c∧ B seq-tl: seq-tl(s) strat2play: strat2play(g;n;s) sg-init: InitialPos(g) nequal: a ≠ b ∈  int_nzero: -o sg-legal2: Legal2(x;y)
Lemmas referenced :  nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf istype-less_than subtract-1-ge-0 istype-nat sg-pos_wf sg-legal1_wf sg-init_wf sg-legal2_wf win2_wf sg-change-init_wf simple-game_wf eq_int_wf equal-wf-base bool_wf assert_wf istype-void bnot_wf not_wf istype-assert int_subtype_base strat2play_wf subtract_wf decidable__le istype-false not-le-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-one-mul-top minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel istype-le play-len_wf uiff_transitivity eqtt_to_assert assert_of_eq_int iff_transitivity iff_weakening_uiff eqff_to_assert assert_of_bnot strat2play-invariant-1 play-item_wf istype-sqequal mul-distributes mul-commutes mul-associates mul-distributes-right zero-mul subtype_base_sq not-equal-implies-less squash_wf true_wf subtype_rel_self iff_weakening_equal le_reflexive one-mul add-mul-special two-mul not-lt-2 omega-shadow decidable__lt equal-wf-T-base decidable__int_equal not-equal-2 minus-zero le-add-cancel2 mul_preserves_le le_wf le_antisymmetry_iff istype-int win2strat-properties win2strat_wf less_than_wf strat2play_subtype sequence_wf seq-len_wf sg-reachable_wf seq-item_wf le_weakening seq-tl-len seq-tl_wf sq_stable__le le-add-cancel-alt int_seg_wf strat2play-invariant seq-truncate_wf nat_wf set_subtype_base nat_plus_wf int_seg_properties nat_plus_properties seq-len-truncate seq-truncate-item seq-tl-item mul_bounds_1a mod2-2n add_nat_wf multiply_nat_wf nat_plus_subtype_nat mod2-2n-plus-1 seq-settype add-member-int_seg2 add-is-int-iff sg-legal1-change-init sg-reachable_self le_weakening2 mul-swap bool_subtype_base equal_wf istype-universe eq_int_eq_false multiply-is-int-iff bfalse_wf trivial-cancel nequal_wf le_transitivity add_nat_plus trivial-equal play-truncate_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  cut hypothesis promote_hyp thin sqequalHypSubstitution productElimination sqequalRule Error :isect_memberFormation_alt,  rename introduction extract_by_obid isectElimination hypothesisEquality setElimination intWeakElimination natural_numberEquality independent_isectElimination independent_functionElimination voidElimination Error :universeIsType,  Error :lambdaEquality_alt,  dependent_functionElimination axiomEquality equalityTransitivity equalitySymmetry Error :functionIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsType,  Error :setIsType,  Error :productIsType,  because_Cache applyEquality baseClosed intEquality Error :isect_memberEquality_alt,  Error :equalityIstype,  baseApply closedConclusion dependentIntersection_memberEquality Error :dependent_set_memberEquality_alt,  unionElimination independent_pairFormation addEquality minusEquality sqequalBase Error :dependent_pairFormation_alt,  functionExtensionality setEquality equalityElimination imageElimination multiplyEquality instantiate cumulativity imageMemberEquality universeEquality Error :isectIsType,  Error :equalityIsType1,  sqequalIntensionalEquality applyLambdaEquality Error :equalityIsType4

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



Date html generated: 2019_06_20-PM-00_55_22
Last ObjectModification: 2019_01_02-PM-01_32_32

Theory : co-recursion-2


Home Index