Nuprl Lemma : bar-separation-implies-twkl!

[T:Type]
  ((∃size:ℕ~ ℕsize)
   BarSep(T;T)
   (∀A:(T List) ⟶ ℙ(dbar(T;A)  (down-closed(T;¬(A)) ∧ Unbounded(¬(A))))))
   WKL!(T))


Proof




Definitions occuring in Statement :  twkl!: WKL!(T) unbounded-list-predicate: Unbounded(A) down-closed: down-closed(T;X) bar-separation: BarSep(T;S) dbar: dbar(T;X) predicate-not: ¬(A) equipollent: B list: List int_seg: {i..j-} nat: uall: [x:A]. B[x] prop: all: x:A. B[x] exists: x:A. B[x] not: ¬A implies:  Q and: P ∧ Q function: x:A ⟶ B[x] natural_number: $n universe: Type
Definitions unfolded in proof :  compose: g tbar: tbar(T;X) is-path: is-path(A;f) sq_exists: x:A [B[x]] so_apply: x[s1;s2] so_lambda: λ2y.t[x; y] nil: [] lt_int: i <j from-upto: [n, m) upto: upto(n) subtract: m pi1: fst(t) finite-type: finite-type(T) nat_plus: + label: ...$L... t bnot: ¬bb uiff: uiff(P;Q) it: unit: Unit bool: 𝔹 eff-unique-path: eff-unique-path(T;A) jbar: jbar(T;S;X;Y) bar-separation: BarSep(T;S) less_than: a < b select: L[n] l_member: (x ∈ l) bfalse: ff btrue: tt ifthenelse: if then else fi  assert: b inject: Inj(A;B;f) satisfiable_int_formula: satisfiable_int_formula(fmla) lelt: i ≤ j < k ge: i ≥  int_seg: {i..j-} top: Top cons: [a b] true: True sq_type: SQType(T) less_than': less_than'(a;b) le: A ≤ B surject: Surj(A;B;f) biject: Bij(A;B;f) equipollent: B squash: T sq_stable: SqStable(P) guard: {T} uimplies: supposing a so_apply: x[s] so_lambda: λ2x.t[x] cand: c∧ B unbounded-list-predicate: Unbounded(A) predicate-not: ¬(A) R-closed: R-closed(T;x.X[x];a,b.R[a; b]) down-closed: down-closed(T;X) dbar: dbar(T;X) rev_implies:  Q or: P ∨ Q decidable: Dec(P) iff: ⇐⇒ Q dec-predicate: Decidable(X) nat: exists: x:A. B[x] false: False subtype_rel: A ⊆B not: ¬A and: P ∧ Q prop: member: t ∈ T all: x:A. B[x] twkl!: WKL!(T) implies:  Q uall: [x:A]. B[x]
Lemmas referenced :  add-zero zero-mul add-mul-special minus-one-mul minus-add map-map upto_decomp add_functionality_wrt_eq primrec-wf2 decidable__equal_list is-path_wf subtract-add-cancel zero-add add-commutes add-swap add-associates map_cons_lemma map_append_sq upto_decomp1 primrec_wf assert_of_le_int bnot_of_lt_int assert_functionality_wrt_uiff bnot_wf le_int_wf equal-wf-base uiff_transitivity length-map primrec-unroll subtract-1-ge-0 map_nil_lemma istype-base stuck-spread primrec0_lemma ge_wf btrue_neq_bfalse member-implies-null-eq-bfalse btrue_wf surject_wf equipollent_inversion finite-type-iff-list nat_plus_properties add_nat_wf add_nat_plus select-upto map-length int_formula_prop_eq_lemma intformeq_wf decidable__equal_int select_upto false_wf add-is-int-iff select-append length_upto top_wf subtype_rel_list select-map le_weakening2 iseg_select istype-false int_seg_subtype_nat nat_wf subtype_rel_function upto_wf map_wf iff_weakening_equal select_append_back true_wf squash_wf non_neg_length select-cons-hd int_term_value_add_lemma int_term_value_subtract_lemma itermAdd_wf itermSubtract_wf subtract_wf less_than_wf iff_weakening_uiff assert-bnot bool_subtype_base bool_wf bool_cases_sqequal eqff_to_assert length-singleton length-append assert_of_lt_int eqtt_to_assert lt_int_wf decidable__not cons_member subtype_rel_sets_simple member_singleton select_wf length_wf eff-unique-path_wf istype-assert null_cons_lemma istype-true null_nil_lemma nil_wf cons_wf append_wf equal_wf l_member_wf null_wf assert_wf not_wf list_induction decidable__equal_int_seg istype-less_than int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_and_lemma itermVar_wf intformless_wf intformand_wf decidable__lt int_formula_prop_wf int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_not_lemma itermConstant_wf intformle_wf intformnot_wf full-omega-unsat decidable__le nat_properties int_seg_properties length_of_cons_lemma product_subtype_list subtype_base_sq length_of_nil_lemma list-cases istype-le sq_stable_from_decidable sq_stable__all tbar_wf int_subtype_base le_wf set_subtype_base length_wf_nat istype-int iseg_wf decidable-predicate-not istype-universe int_seg_wf equipollent_wf istype-nat bar-separation_wf istype-void subtype_rel_self predicate-not_wf dbar_wf unbounded-list-predicate_wf down-closed_wf list_wf dec-predicate_wf
Rules used in proof :  multiplyEquality Error :dependent_set_memberFormation_alt,  Error :functionIsTypeImplies,  axiomEquality independent_pairEquality intWeakElimination Error :functionExtensionality_alt,  hyp_replacement baseApply pointwiseFunctionality equalityElimination closedConclusion addEquality setEquality productEquality Error :inrFormation_alt,  Error :inlFormation_alt,  int_eqEquality approximateComputation applyLambdaEquality Error :isect_memberEquality_alt,  hypothesis_subsumption cumulativity Error :dependent_set_memberEquality_alt,  imageElimination baseClosed imageMemberEquality functionEquality sqequalBase equalitySymmetry equalityTransitivity independent_isectElimination intEquality Error :equalityIstype,  Error :dependent_pairFormation_alt,  promote_hyp productElimination Error :inhabitedIsType,  Error :lambdaEquality_alt,  voidElimination independent_functionElimination unionElimination dependent_functionElimination independent_pairFormation natural_numberEquality instantiate applyEquality functionExtensionality universeEquality Error :functionIsType,  Error :productIsType,  sqequalRule because_Cache Error :setIsType,  rename setElimination hypothesis hypothesisEquality thin isectElimination sqequalHypSubstitution extract_by_obid introduction Error :universeIsType,  cut Error :lambdaFormation_alt,  Error :isect_memberFormation_alt,  sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[T:Type]
    ((\mexists{}size:\mBbbN{}.  T  \msim{}  \mBbbN{}size)
    {}\mRightarrow{}  BarSep(T;T)
    {}\mRightarrow{}  (\mforall{}A:(T  List)  {}\mrightarrow{}  \mBbbP{}.  (dbar(T;A)  {}\mRightarrow{}  (\mneg{}(down-closed(T;\mneg{}(A))  \mwedge{}  Unbounded(\mneg{}(A))))))
    {}\mRightarrow{}  WKL!(T))



Date html generated: 2019_06_20-PM-02_48_08
Last ObjectModification: 2019_06_05-PM-04_21_08

Theory : fan-theorem


Home Index