Step
*
2
2
2
of Lemma
ulist-ext
1. T : Type
2. u : T
3. v : T List
4. v ∈ ulist(T)
5. [u / v] ∈ Unit ⋃ (T × ulist(T))
⊢ [u / v] ∈ ulist(T)
BY
{ (InstLemma `subtype_urec` [⌜λA.(Unit ⋃ (T × A))⌝]⋅
   THEN AllReduce
   THEN All(Fold `ulist`)
   THEN Try ((BLemma `continuous\'-monotone-bunion`
              THEN Auto
              THEN Try (BLemma `continuous\'-monotone-constant`⋅)
              THEN Try (BLemma `continuous\'-monotone-product`⋅)
              THEN Try (BLemma `continuous\'-monotone-identity`⋅)
              THEN Try (BLemma `continuous\'-monotone-constant`⋅)
              THEN Auto))) }
1
1. T : Type
2. u : T
3. v : T List
4. v ∈ ulist(T)
5. [u / v] ∈ Unit ⋃ (T × ulist(T))
⊢ λA.(Unit ⋃ (T × A)) ∈ Type ⟶ Type
2
1. T : Type
2. u : T
3. v : T List
4. v ∈ ulist(T)
5. [u / v] ∈ Unit ⋃ (T × ulist(T))
6. (Unit ⋃ (T × ulist(T))) ⊆r ulist(T)
⊢ [u / v] ∈ ulist(T)
Latex:
Latex:
1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  v  \mmember{}  ulist(T)
5.  [u  /  v]  \mmember{}  Unit  \mcup{}  (T  \mtimes{}  ulist(T))
\mvdash{}  [u  /  v]  \mmember{}  ulist(T)
By
Latex:
(InstLemma  `subtype\_urec`  [\mkleeneopen{}\mlambda{}A.(Unit  \mcup{}  (T  \mtimes{}  A))\mkleeneclose{}]\mcdot{}
  THEN  AllReduce
  THEN  All(Fold  `ulist`)
  THEN  Try  ((BLemma  `continuous\mbackslash{}'-monotone-bunion`
                        THEN  Auto
                        THEN  Try  (BLemma  `continuous\mbackslash{}'-monotone-constant`\mcdot{})
                        THEN  Try  (BLemma  `continuous\mbackslash{}'-monotone-product`\mcdot{})
                        THEN  Try  (BLemma  `continuous\mbackslash{}'-monotone-identity`\mcdot{})
                        THEN  Try  (BLemma  `continuous\mbackslash{}'-monotone-constant`\mcdot{})
                        THEN  Auto)))
Home
Index