Step
*
of Lemma
bigrel-induction
∀[T:Type]
  ∀P:(T ⟶ T ⟶ ℙ) ⟶ ℙ. ∀F:(T ⟶ T ⟶ ℙ) ⟶ T ⟶ T ⟶ ℙ.
    ((∀Rs:ℕ ⟶ T ⟶ T ⟶ ℙ. ((∀n:ℕ. P[Rs[n]]) 
⇒ P[isect-rel(ℕ;n.Rs[n])]))
    
⇒ (∀R:T ⟶ T ⟶ ℙ. (P[R] 
⇒ P[F[R]]))
    
⇒ P[λx,y. True]
    
⇒ P[∨R.F[R]])
BY
{ (Auto
   THEN Unfold `bigrel` 0
   THEN BackThruSomeHyp
   THEN InductionOnNat
   THEN (RWO "primrec-unroll" 0 THENA Auto)
   THEN AutoSplit) }
Latex:
Latex:
\mforall{}[T:Type]
    \mforall{}P:(T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{})  {}\mrightarrow{}  \mBbbP{}.  \mforall{}F:(T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{})  {}\mrightarrow{}  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.
        ((\mforall{}Rs:\mBbbN{}  {}\mrightarrow{}  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.  ((\mforall{}n:\mBbbN{}.  P[Rs[n]])  {}\mRightarrow{}  P[isect-rel(\mBbbN{};n.Rs[n])]))
        {}\mRightarrow{}  (\mforall{}R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}.  (P[R]  {}\mRightarrow{}  P[F[R]]))
        {}\mRightarrow{}  P[\mlambda{}x,y.  True]
        {}\mRightarrow{}  P[\mvee{}R.F[R]])
By
Latex:
(Auto
  THEN  Unfold  `bigrel`  0
  THEN  BackThruSomeHyp
  THEN  InductionOnNat
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  AutoSplit)
Home
Index