Step * 2 2 2 of Lemma ulist-ext


1. Type
2. T
3. 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. Type
2. T
3. List
4. v ∈ ulist(T)
5. [u v] ∈ Unit ⋃ (T × ulist(T))
⊢ λA.(Unit ⋃ (T × A)) ∈ Type ⟶ Type

2
1. Type
2. T
3. List
4. v ∈ ulist(T)
5. [u v] ∈ Unit ⋃ (T × ulist(T))
6. (Unit ⋃ (T × ulist(T))) ⊆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