Step
*
1
2
1
1
of Lemma
lexico_well_fnd
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. WellFnd{i}(T;a,b.R[a;b])
4. m : ℤ
5. [%2] : 0 < m
6. lexico(T; a,b.R[a;b]) ∈ (T List) ⟶ (T List) ⟶ ℙ
7. WellFnd{i}({L:T List| ||L|| = (m - 1) ∈ ℕ} as,bs.as lexico(T; a,b.R[a;b]) bs)
8. WellFnd{i}(T × {L:T List| ||L|| = (m - 1) ∈ ℕ} p1,p2.let a1,b1 = p1 
                                                        in let a2,b2 = p2 
                                                           in R[a1;a2]
                                                              ∨ ((a1 = a2 ∈ T) ∧ (b1 lexico(T; a,b.R[a;b]) b2)))
⊢ WellFnd{i}({L:T List| ||L|| = m ∈ ℕ} as,bs.as lexico(T; a,b.R[a;b]) bs)
BY
{ (InstLemma `inv_image_ind_a` [⌜T × {L:T List| ||L|| = (m - 1) ∈ ℕ} ⌝;⌜λ2p1 p2.let a1,b1 = p1 
                                                                               in let a2,b2 = p2 
                                                                                  in R[a1;a2]
                                                                                     ∨ ((a1 = a2 ∈ T)
                                                                                       ∧ (b1 lexico(T; a,b.R[a;b]) b2))⌝
   ⌜{L:T List| ||L|| = m ∈ ℕ} ⌝;⌜λ2L.<hd(L), tl(L)>⌝]⋅
   THENA Auto
   ) }
1
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. WellFnd{i}(T;a,b.R[a;b])
4. m : ℤ
5. [%2] : 0 < m
6. lexico(T; a,b.R[a;b]) ∈ (T List) ⟶ (T List) ⟶ ℙ
7. WellFnd{i}({L:T List| ||L|| = (m - 1) ∈ ℕ} as,bs.as lexico(T; a,b.R[a;b]) bs)
8. WellFnd{i}(T × {L:T List| ||L|| = (m - 1) ∈ ℕ} p1,p2.let a1,b1 = p1 
                                                        in let a2,b2 = p2 
                                                           in R[a1;a2]
                                                              ∨ ((a1 = a2 ∈ T) ∧ (b1 lexico(T; a,b.R[a;b]) b2)))
9. WellFnd{i}({L:T List| ||L|| = m ∈ ℕ} x,y.let a1,b1 = <hd(x), tl(x)> 
                              in let a2,b2 = <hd(y), tl(y)> 
                                 in R[a1;a2] ∨ ((a1 = a2 ∈ T) ∧ (b1 lexico(T; a,b.R[a;b]) b2)))
⊢ WellFnd{i}({L:T List| ||L|| = m ∈ ℕ} as,bs.as lexico(T; a,b.R[a;b]) bs)
Latex:
Latex:
1.  [T]  :  Type
2.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  WellFnd\{i\}(T;a,b.R[a;b])
4.  m  :  \mBbbZ{}
5.  [\%2]  :  0  <  m
6.  lexico(T;  a,b.R[a;b])  \mmember{}  (T  List)  {}\mrightarrow{}  (T  List)  {}\mrightarrow{}  \mBbbP{}
7.  WellFnd\{i\}(\{L:T  List|  ||L||  =  (m  -  1)\}  ;as,bs.as  lexico(T;  a,b.R[a;b])  bs)
8.  WellFnd\{i\}(T  \mtimes{}  \{L:T  List|  ||L||  =  (m  -  1)\}  ;p1,p2.let  a1,b1  =  p1 
                                                                                                        in  let  a2,b2  =  p2 
                                                                                                              in  R[a1;a2]
                                                                                                                    \mvee{}  ((a1  =  a2)
                                                                                                                        \mwedge{}  (b1  lexico(T;  a,b.R[a;b])  b2)))
\mvdash{}  WellFnd\{i\}(\{L:T  List|  ||L||  =  m\}  ;as,bs.as  lexico(T;  a,b.R[a;b])  bs)
By
Latex:
(InstLemma  `inv\_image\_ind\_a`  [\mkleeneopen{}T  \mtimes{}  \{L:T  List|  ||L||  =  (m  -  1)\}  \mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}p1  p2.let  a1,b1  =  p1 
                                                                                                                                                  in  let  a2,b2  =  p2 
                                                                                                                                                        in  R[a1;a2]
                                                                                                                                                              \mvee{}  ((a1  =  a2)
                                                                                                                                                                  \mwedge{}  (b1 
                                                                                                                                                                        lexico(T;
                                                                                                                                                                                      a,b.R
                                                                                                                                                                                              [a;b]
                                                                                                                                                                                      ) 
                                                                                                                                                                        b2))\mkleeneclose{};
  \mkleeneopen{}\{L:T  List|  ||L||  =  m\}  \mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}L.<hd(L),  tl(L)>\mkleeneclose{}]\mcdot{}
  THENA  Auto
  )
Home
Index