Nuprl Lemma : int-seg-case-monotone

[i,j:ℤ]. ∀[F,G:{i..j-} ⟶ ℙ]. ∀[d:∀k:{i..j-}. (F[k] ∨ G[k])].
  ∀k:{i..j 1-}. ((↑isl(int-seg-case(i;k;d)))  (∀k':{k..j 1-}. (↑isl(int-seg-case(i;k';d)))))


Proof




Definitions occuring in Statement :  int-seg-case: int-seg-case(i;j;d) int_seg: {i..j-} assert: b isl: isl(x) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q or: P ∨ Q function: x:A ⟶ B[x] add: m natural_number: $n int:
Definitions unfolded in proof :  btrue: tt it: unit: Unit exposed-it: exposed-it le_int: i ≤j lt_int: i <j bnot: ¬bb label: ...$L... t sq_type: SQType(T) nat_plus: + bfalse: ff int-seg-case: int-seg-case(i;j;d) sq_stable: SqStable(P) guard: {T} ge: i ≥  nat: bool: 𝔹 ifthenelse: if then else fi  assert: b isl: isl(x) prop: subtype_rel: A ⊆B true: True less_than': less_than'(a;b) top: Top subtract: m uimplies: supposing a uiff: uiff(P;Q) false: False rev_implies:  Q not: ¬A iff: ⇐⇒ Q or: P ∨ Q decidable: Dec(P) le: A ≤ B cand: c∧ B so_apply: x[s] so_lambda: λ2x.t[x] squash: T less_than: a < b and: P ∧ Q lelt: i ≤ j < k int_seg: {i..j-} implies:  Q all: x:A. B[x] member: t ∈ T uall: [x:A]. B[x]
Lemmas referenced :  assert_of_le_int true_wf squash_wf eqff_to_assert uiff_transitivity2 assert_of_lt_int eqtt_to_assert uiff_transitivity bnot_wf le_int_wf assert_wf bool_wf equal-wf-base lt_int_wf subtype_base_sq primrec-unroll mul-associates mul-distributes omega-shadow mul-distributes-right two-mul one-mul le_reflexive le_weakening2 istype-top zero-mul add-mul-special not-le-2 decidable__le sq_stable__le subtract_nat_wf subtract_wf istype-nat subtract-1-ge-0 int_subtype_base set_subtype_base add-is-int-iff add-zero ge_wf less_than_irreflexivity less_than_transitivity1 nat_properties istype-true bfalse_wf btrue_wf subtype_rel_self less_than_wf le_wf and_wf subtype_rel_sets_simple or_wf subtype_rel_dep_function istype-less_than istype-le le-add-cancel2 add-commutes add_functionality_wrt_le zero-add minus-one-mul-top add-swap minus-one-mul minus-add istype-void add-associates condition-implies-le less-iff-le not-lt-2 istype-false decidable__lt int-seg-case_wf istype-assert int_seg_wf
Rules used in proof :  equalityElimination cumulativity instantiate multiplyEquality axiomSqEquality lessCases imageMemberEquality baseClosed closedConclusion baseApply intWeakElimination universeEquality isectIsTypeImplies functionIsTypeImplies axiomEquality equalitySymmetry equalityTransitivity equalityIstype unionIsType functionIsType inhabitedIsType intEquality unionEquality productIsType minusEquality isect_memberEquality_alt natural_numberEquality addEquality independent_isectElimination independent_functionElimination voidElimination unionElimination dependent_functionElimination independent_pairFormation dependent_set_memberEquality_alt applyEquality lambdaEquality_alt sqequalRule because_Cache imageElimination productElimination hypothesis hypothesisEquality rename setElimination thin isectElimination sqequalHypSubstitution extract_by_obid universeIsType lambdaFormation_alt cut introduction isect_memberFormation_alt sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[i,j:\mBbbZ{}].  \mforall{}[F,G:\{i..j\msupminus{}\}  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[d:\mforall{}k:\{i..j\msupminus{}\}.  (F[k]  \mvee{}  G[k])].
    \mforall{}k:\{i..j  +  1\msupminus{}\}.  ((\muparrow{}isl(int-seg-case(i;k;d)))  {}\mRightarrow{}  (\mforall{}k':\{k..j  +  1\msupminus{}\}.  (\muparrow{}isl(int-seg-case(i;k';d)))))



Date html generated: 2019_10_15-AM-10_19_56
Last ObjectModification: 2019_10_02-PM-11_11_31

Theory : call!by!value_2


Home Index