Step
*
of Lemma
l-ordered-reorder
∀[A:Type]
  ∀R:A ⟶ A ⟶ 𝔹. ∀L:A List.
    (Trans(A;x,y.↑R[x;y])
    
⇒ (∀x∈L.(∀y∈L.(¬↑R[x;y]) 
⇒ (↑R[y;x])))
    
⇒ (∃L':A List. (l-ordered(A;x,y.↑R[x;y];L') ∧ permutation(A;L;L'))))
BY
{ (InductionOnList
   THEN Auto
   THEN Try (Complete ((InstConcl [⌜[]⌝]⋅ THEN Repeat (RW ListC 0) THEN Auto)))
   THEN (D (-1) THENA (All(\i.xxxRepeat ((RWO "l_all_iff" i THENA Auto))xxx)⋅ THEN Auto))
   THEN ExRepD
   THEN (InstLemma `l-ordered-decomp` [⌜A⌝;⌜R⌝;⌜u⌝;⌜L'⌝]⋅ THENA Auto)
   THEN InstConcl [⌜filter(λy.R[y;u];L') @ [u / filter(λy.(¬bR[y;u]);L')]⌝]⋅
   THEN Auto) }
1
1. [A] : Type
2. R : A ⟶ A ⟶ 𝔹
3. u : A
4. v : A List
5. Trans(A;x,y.↑R[x;y])
6. (∀x∈[u / v].(∀y∈[u / v].(¬↑R[x;y]) 
⇒ (↑R[y;x])))
7. L' : A List
8. l-ordered(A;x,y.↑R[x;y];L')
9. permutation(A;v;L')
10. L' = (filter(λy.R[y;u];L') @ filter(λy.(¬bR[y;u]);L')) ∈ (A List)
⊢ l-ordered(A;x,y.↑R[x;y];filter(λy.R[y;u];L') @ [u / filter(λy.(¬bR[y;u]);L')])
2
1. [A] : Type
2. R : A ⟶ A ⟶ 𝔹
3. u : A
4. v : A List
5. Trans(A;x,y.↑R[x;y])
6. (∀x∈[u / v].(∀y∈[u / v].(¬↑R[x;y]) 
⇒ (↑R[y;x])))
7. L' : A List
8. l-ordered(A;x,y.↑R[x;y];L')
9. permutation(A;v;L')
10. L' = (filter(λy.R[y;u];L') @ filter(λy.(¬bR[y;u]);L')) ∈ (A List)
11. l-ordered(A;x,y.↑R[x;y];filter(λy.R[y;u];L') @ [u / filter(λy.(¬bR[y;u]);L')])
⊢ permutation(A;[u / v];filter(λy.R[y;u];L') @ [u / filter(λy.(¬bR[y;u]);L')])
Latex:
Latex:
\mforall{}[A:Type]
    \mforall{}R:A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbB{}.  \mforall{}L:A  List.
        (Trans(A;x,y.\muparrow{}R[x;y])
        {}\mRightarrow{}  (\mforall{}x\mmember{}L.(\mforall{}y\mmember{}L.(\mneg{}\muparrow{}R[x;y])  {}\mRightarrow{}  (\muparrow{}R[y;x])))
        {}\mRightarrow{}  (\mexists{}L':A  List.  (l-ordered(A;x,y.\muparrow{}R[x;y];L')  \mwedge{}  permutation(A;L;L'))))
By
Latex:
(InductionOnList
  THEN  Auto
  THEN  Try  (Complete  ((InstConcl  [\mkleeneopen{}[]\mkleeneclose{}]\mcdot{}  THEN  Repeat  (RW  ListC  0)  THEN  Auto)))
  THEN  (D  (-1)  THENA  (All(\mbackslash{}i.xxxRepeat  ((RWO  "l\_all\_iff"  i  THENA  Auto))xxx)\mcdot{}  THEN  Auto))
  THEN  ExRepD
  THEN  (InstLemma  `l-ordered-decomp`  [\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{};\mkleeneopen{}u\mkleeneclose{};\mkleeneopen{}L'\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  InstConcl  [\mkleeneopen{}filter(\mlambda{}y.R[y;u];L')  @  [u  /  filter(\mlambda{}y.(\mneg{}\msubb{}R[y;u]);L')]\mkleeneclose{}]\mcdot{}
  THEN  Auto)
Home
Index