Nuprl Lemma : simple_more_general_fan_theorem

[T:ℕ ⟶ Type]
  (∀i:ℕBounded(T[i]))
   (∀[X:n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ]
        (∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s]))  (∃k:ℕ [(∀f:i:ℕ ⟶ T[i]. ∃n:ℕk. X[n;f])]) 
        supposing ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕX[n;f])) 
  supposing ∀i:ℕT[i]


Proof




Definitions occuring in Statement :  bounded-type: Bounded(T) int_seg: {i..j-} nat: decidable: Dec(P) uimplies: supposing a uall: [x:A]. B[x] prop: so_apply: x[s1;s2] so_apply: x[s] all: x:A. B[x] sq_exists: x:A [B[x]] exists: x:A. B[x] squash: T implies:  Q function: x:A ⟶ B[x] natural_number: $n universe: Type
Definitions unfolded in proof :  nequal: a ≠ b ∈  nat_plus: + ge: i ≥  seq-adjoin: s++t pi2: snd(t) project-seq: project-seq(s) pi1: fst(t) istype: istype(T) decidable: Dec(P) sq_exists: x:A [B[x]] subtract: m gt: i > j assert: b ifthenelse: if then else fi  bnot: ¬bb sq_type: SQType(T) or: P ∨ Q exists: x:A. B[x] bfalse: ff rev_implies:  Q iff: ⇐⇒ Q cand: c∧ B true: True top: Top uiff: uiff(P;Q) btrue: tt it: unit: Unit bool: 𝔹 seq-append: seq-append(n;m;s1;s2) not: ¬A false: False less_than': less_than'(a;b) sq_stable: SqStable(P) guard: {T} so_apply: x[s1;s2] less_than: a < b le: A ≤ B and: P ∧ Q lelt: i ≤ j < k int_seg: {i..j-} subtype_rel: A ⊆B so_lambda: λ2x.t[x] nat: prop: so_lambda: λ2y.t[x; y] so_apply: x[s] squash: T all: x:A. B[x] member: t ∈ T implies:  Q uimplies: supposing a uall: [x:A]. B[x] bounded-type: Bounded(T)
Lemmas referenced :  less_than_irreflexivity less_than_transitivity1 Error :neg_assert_of_eq_int,  assert_of_eq_int eq_int_wf nat_properties le-add-cancel-alt mul-commutes mul-associates mul-distributes omega-shadow mul-distributes-right two-mul one-mul minus-zero le_reflexive le_weakening2 subtype_rel_sets_simple minus-minus add-member-int_seg2 decidable__exists_int_seg sq_stable_from_decidable le_weakening le_transitivity pi2_wf less_than_anti-reflexive le-add-cancel2 not-equal-2 less-iff-le not-lt-2 decidable__lt Error :assert-bnot,  decidable__int_equal decidable__all_int_seg subtype_rel_dep_function decidable_wf le-add-cancel add_functionality_wrt_le add-swap zero-add minus-add condition-implies-le not-le-2 decidable__le seq-adjoin_wf add-zero zero-mul add-mul-special minus-one-mul-top add-commutes minus-one-mul add-associates not-gt-2 add-is-int-iff subtract_nat_wf subtract_wf istype-assert assert_of_bnot iff_weakening_uiff not_wf bnot_wf assert_wf iff_transitivity bool_subtype_base bool_wf subtype_base_sq bool_cases_sqequal eqff_to_assert iff_weakening_equal istype-less_than istype-universe true_wf squash_wf equal_wf istype-void istype-top assert_of_lt_int eqtt_to_assert lt_int_wf subtype_rel_self subtype_rel_function istype-false int_seg_subtype_nat seq-append_wf istype-le sq_stable__le add_nat_wf exists_wf sq_exists_wf all_wf isect_wf istype-nat project-seq_wf less_than_wf and_wf int_subtype_base istype-int le_wf set_subtype_base pi1_wf equal-wf-base int_seg_wf nat_wf basic_bar_induction
Rules used in proof :  functionExtensionality dependent_pairEquality_alt functionExtensionality_alt hyp_replacement dependent_set_memberFormation_alt inrFormation_alt inlFormation_alt multiplyEquality setIsType isectIsType axiomEquality sqequalBase minusEquality baseApply cumulativity promote_hyp dependent_pairFormation_alt universeEquality instantiate voidElimination isectIsTypeImplies isect_memberEquality_alt axiomSqEquality lessCases equalityElimination unionElimination independent_pairFormation equalitySymmetry equalityTransitivity equalityIstype independent_functionElimination addEquality dependent_set_memberEquality_alt closedConclusion productIsType universeIsType functionIsType productElimination because_Cache independent_isectElimination intEquality setElimination natural_numberEquality functionEquality isectEquality applyEquality productEquality isectElimination extract_by_obid rename inhabitedIsType functionIsTypeImplies baseClosed imageMemberEquality hypothesis imageElimination hypothesisEquality thin dependent_functionElimination lambdaEquality_alt sqequalHypSubstitution introduction cut lambdaFormation_alt isect_memberFormation_alt computationStep sqequalTransitivity sqequalReflexivity sqequalRule sqequalSubstitution

Latex:
\mforall{}[T:\mBbbN{}  {}\mrightarrow{}  Type]
    (\mforall{}i:\mBbbN{}.  Bounded(T[i]))
    {}\mRightarrow{}  (\mforall{}[X:n:\mBbbN{}  {}\mrightarrow{}  (i:\mBbbN{}n  {}\mrightarrow{}  T[i])  {}\mrightarrow{}  \mBbbP{}]
                (\mforall{}n:\mBbbN{}.  \mforall{}s:i:\mBbbN{}n  {}\mrightarrow{}  T[i].    Dec(X[n;s]))  {}\mRightarrow{}  (\mexists{}k:\mBbbN{}  [(\mforall{}f:i:\mBbbN{}  {}\mrightarrow{}  T[i].  \mexists{}n:\mBbbN{}k.  X[n;f])]) 
                supposing  \mforall{}f:i:\mBbbN{}  {}\mrightarrow{}  T[i].  (\mdownarrow{}\mexists{}n:\mBbbN{}.  X[n;f])) 
    supposing  \mforall{}i:\mBbbN{}.  T[i]



Date html generated: 2019_10_15-AM-10_20_16
Last ObjectModification: 2019_10_07-PM-04_40_21

Theory : bar-induction


Home Index