Step * 1 1 of Lemma fpf-vals-nil

.....assertion..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
⊢ ∀L:A List. (no_repeats(A;L)  (filter(P;L) if a ∈b then [a] else [] fi  ∈ (A List)))
BY
xxx(((((((((InductionOnList THEN SplitOnConclITE) THENA Auto)
            THEN Try (((RWO "nil_member" (-1)) THEN Auto))
            THEN Try (((RWO "cons_member" (-1)) THENA Auto))
            THEN All Reduce
            THEN Try (Complete (Auto))
            THEN (ParallelOp (-2))
            THEN Try (((RWO "no_repeats_cons" (-1)) THEN Complete (Auto)))
            THEN SplitOnConclITE)
           THENA Auto
           )
          THEN (HypSubst (-2) 0)
          )
         THENA Auto
         )
        THEN SplitOnConclITE
        )
       THENA Auto
       )
      THEN Try (Complete (Auto))
      THEN (RW assert_pushdownC (-5))
      THEN Auto)xxx }

1
.....truecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. (a u ∈ A) ∨ (a ∈ v)
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ↑(P u)
16. (a ∈ v)
⊢ [u; a] [a] ∈ (A List)

2
.....falsecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. (a u ∈ A) ∨ (a ∈ v)
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ↑(P u)
16. ¬(a ∈ v)
⊢ [u] [a] ∈ (A List)

3
.....falsecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. (a u ∈ A) ∨ (a ∈ v)
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ¬↑(P u)
16. ¬(a ∈ v)
⊢ [] [a] ∈ (A List)

4
.....truecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. ¬((a u ∈ A) ∨ (a ∈ v))
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ↑(P u)
16. (a ∈ v)
⊢ [u; a] [] ∈ (A List)

5
.....falsecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. ¬((a u ∈ A) ∨ (a ∈ v))
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ↑(P u)
16. ¬(a ∈ v)
⊢ [u] [] ∈ (A List)

6
.....truecase..... 
1. Type
2. eq EqDecider(A)
3. A ⟶ Type
4. A ⟶ 𝔹
5. List
6. f1 x:{x:A| (x ∈ d)}  ⟶ B[x]
7. A
8. ¬↑a ∈ dom(<d, f1>)
9. ∀b:A. (↑(P b) ⇐⇒ a ∈ A)
10. A
11. List
12. ¬((a u ∈ A) ∨ (a ∈ v))
13. no_repeats(A;[u v])
14. filter(P;v) if a ∈b then [a] else [] fi  ∈ (A List)
15. ¬↑(P u)
16. (a ∈ v)
⊢ [a] [] ∈ (A List)


Latex:


Latex:
.....assertion..... 
1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  B  :  A  {}\mrightarrow{}  Type
4.  P  :  A  {}\mrightarrow{}  \mBbbB{}
5.  d  :  A  List
6.  f1  :  x:\{x:A|  (x  \mmember{}  d)\}    {}\mrightarrow{}  B[x]
7.  a  :  A
8.  \mneg{}\muparrow{}a  \mmember{}  dom(<d,  f1>)
9.  \mforall{}b:A.  (\muparrow{}(P  b)  \mLeftarrow{}{}\mRightarrow{}  b  =  a)
\mvdash{}  \mforall{}L:A  List.  (no\_repeats(A;L)  {}\mRightarrow{}  (filter(P;L)  =  if  a  \mmember{}\msubb{}  L  then  [a]  else  []  fi  ))


By


Latex:
xxx(((((((((InductionOnList  THEN  SplitOnConclITE)  THENA  Auto)
                    THEN  Try  (((RWO  "nil\_member"  (-1))  THEN  Auto))
                    THEN  Try  (((RWO  "cons\_member"  (-1))  THENA  Auto))
                    THEN  All  Reduce
                    THEN  Try  (Complete  (Auto))
                    THEN  (ParallelOp  (-2))
                    THEN  Try  (((RWO  "no\_repeats\_cons"  (-1))  THEN  Complete  (Auto)))
                    THEN  SplitOnConclITE)
                  THENA  Auto
                  )
                THEN  (HypSubst  (-2)  0)
                )
              THENA  Auto
              )
            THEN  SplitOnConclITE
            )
          THENA  Auto
          )
        THEN  Try  (Complete  (Auto))
        THEN  (RW  assert\_pushdownC  (-5))
        THEN  Auto)xxx




Home Index