### Nuprl Lemma : AF-induction-iff

`∀T:Type. ∀R:T ⟶ T ⟶ ℙ.`
`  ((∀x,y:T.  Dec(R+[x;y]))`
`  `` (∃R':T ⟶ T ⟶ ℙ. (AFx,y:T.R'[x;y] ∧ (∀x,y:T.  (R+[x;y] `` (¬R'[x;y])))) `⇐⇒` ∀Q:T ⟶ ℙ. TI(T;x,y.R[x;y];t.Q[t])))`

Proof

Definitions occuring in Statement :  rel_plus: `R+` almost-full: `AFx,y:T.R[x; y]` TI: `TI(T;x,y.R[x; y];t.Q[t])` decidable: `Dec(P)` prop: `ℙ` so_apply: `x[s1;s2]` so_apply: `x[s]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` iff: `P `⇐⇒` Q` not: `¬A` implies: `P `` Q` and: `P ∧ Q` function: `x:A ⟶ B[x]` universe: `Type`
Definitions unfolded in proof :  all: `∀x:A. B[x]` member: `t ∈ T` implies: `P `` Q` iff: `P `⇐⇒` Q` and: `P ∧ Q` uimplies: `b supposing a` so_lambda: `λ2x.t[x]` so_apply: `x[s]` prop: `ℙ` exists: `∃x:A. B[x]` uall: `∀[x:A]. B[x]` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` not: `¬A` subtype_rel: `A ⊆r B` false: `False` rev_implies: `P `` Q` cand: `A c∧ B` almost-full: `AFx,y:T.R[x; y]` nat: `ℕ` decidable: `Dec(P)` or: `P ∨ Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` top: `Top` ge: `i ≥ j ` TI: `TI(T;x,y.R[x; y];t.Q[t])` le: `A ≤ B` less_than': `less_than'(a;b)` squash: `↓T` infix_ap: `x f y` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` ifthenelse: `if b then t else f fi ` bfalse: `ff` eq_int: `(i =z j)` sq_type: `SQType(T)` guard: `{T}` uiff: `uiff(P;Q)` true: `True`
Lemmas referenced :  AF-induction4 almost-full_wf rel_plus_wf subtype_rel_self istype-void not_wf TI_wf decidable_wf istype-universe istype-nat all_wf nat_wf equal_wf decidable__le full-omega-unsat intformnot_wf intformle_wf itermConstant_wf istype-int int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_formula_prop_wf istype-le squash_wf exists_wf nat_properties intformand_wf itermAdd_wf itermVar_wf int_formula_prop_and_lemma int_term_value_add_lemma int_term_value_var_lemma istype-false decidable__lt intformless_wf int_formula_prop_less_lemma istype-less_than rel_plus_iff2 eq_int_wf intformeq_wf int_formula_prop_eq_lemma assert_wf bnot_wf equal-wf-base set_subtype_base le_wf int_subtype_base istype-assert bool_cases subtype_base_sq bool_wf bool_subtype_base eqtt_to_assert assert_of_eq_int eqff_to_assert iff_transitivity iff_weakening_uiff assert_of_bnot rel-star-iff-rel-plus true_wf iff_weakening_equal zero-add
Rules used in proof :  cut introduction extract_by_obid sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  hypothesis sqequalHypSubstitution dependent_functionElimination thin hypothesisEquality independent_pairFormation independent_isectElimination sqequalRule Error :lambdaEquality_alt,  applyEquality Error :universeIsType,  Error :functionIsType,  universeEquality Error :productIsType,  Error :inhabitedIsType,  isectElimination because_Cache instantiate Error :dependent_pairFormation_alt,  independent_functionElimination voidElimination functionExtensionality functionEquality cumulativity Error :dependent_set_memberEquality_alt,  natural_numberEquality unionElimination approximateComputation Error :isect_memberEquality_alt,  addEquality setElimination rename int_eqEquality imageElimination productElimination imageMemberEquality baseClosed Error :equalityIstype,  Error :setIsType,  applyLambdaEquality equalityTransitivity equalitySymmetry closedConclusion equalityElimination hyp_replacement intEquality baseApply sqequalBase

Latex:
\mforall{}T:Type.  \mforall{}R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.
((\mforall{}x,y:T.    Dec(R\msupplus{}[x;y]))
{}\mRightarrow{}  (\mexists{}R':T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.  (AFx,y:T.R'[x;y]  \mwedge{}  (\mforall{}x,y:T.    (R\msupplus{}[x;y]  {}\mRightarrow{}  (\mneg{}R'[x;y]))))
\mLeftarrow{}{}\mRightarrow{}  \mforall{}Q:T  {}\mrightarrow{}  \mBbbP{}.  TI(T;x,y.R[x;y];t.Q[t])))

Date html generated: 2019_06_20-PM-02_02_20
Last ObjectModification: 2018_12_07-PM-06_37_22

Theory : relations2

Home Index