Step
*
of Lemma
tuple-type-continuous
∀[P:Type]. ∀[X:ℕ ⟶ P ⟶ Type]. ∀[L:P List].  ((⋂n:ℕ. tuple-type(map(X n;L))) ⊆r tuple-type(map(λp.⋂n:ℕ. (X n p);L)))
BY
{ (InductionOnList THEN Reduce 0 THEN Try (((RWO "null-map" 0 THENA Auto) THEN AutoSplit))) }
1
1. P : Type
2. X : ℕ ⟶ P ⟶ Type
⊢ (⋂n:ℕ. Unit) ⊆r Unit
2
1. P : Type
2. X : ℕ ⟶ P ⟶ Type
3. u : P
4. v : P List
5. ¬(v = [] ∈ (P List))
6. (⋂n:ℕ. tuple-type(map(X n;v))) ⊆r tuple-type(map(λp.⋂n:ℕ. (X n p);v))
⊢ (⋂n:ℕ. (X n u × tuple-type(map(X n;v)))) ⊆r (⋂n:ℕ. (X n u) × tuple-type(map(λp.⋂n:ℕ. (X n p);v)))
Latex:
Latex:
\mforall{}[P:Type].  \mforall{}[X:\mBbbN{}  {}\mrightarrow{}  P  {}\mrightarrow{}  Type].  \mforall{}[L:P  List].
    ((\mcap{}n:\mBbbN{}.  tuple-type(map(X  n;L)))  \msubseteq{}r  tuple-type(map(\mlambda{}p.\mcap{}n:\mBbbN{}.  (X  n  p);L)))
By
Latex:
(InductionOnList  THEN  Reduce  0  THEN  Try  (((RWO  "null-map"  0  THENA  Auto)  THEN  AutoSplit)))
Home
Index