Step * of Lemma tuple-sum-wf-partial

[P:Type]. ∀[G:P ⟶ Type]. ∀[f:i:P ⟶ (G i) ⟶ partial(ℕ)]. ∀[as:P List]. ∀[x:tuple-type(map(G;as))].
  (tuple-sum(f;as;x) ∈ partial(ℕ))
BY
(InductionOnList
   THEN Unfold `tuple-sum` 0
   THEN Reduce 0
   THEN ((RWO "null-map" THENA Auto) ORELSE Auto)
   THEN (SimpleBoolCase ⌜null(v)⌝⋅ THENA Auto)) }

1
1. Type
2. P ⟶ Type
3. i:P ⟶ (G i) ⟶ partial(ℕ)
4. P
5. List
6. ∀[x:tuple-type(map(G;v))]. (tuple-sum(f;v;x) ∈ partial(ℕ))
7. null(v) tt
⊢ ∀[x@0:G u]. (f x@0 ∈ partial(ℕ))

2
1. Type
2. P ⟶ Type
3. i:P ⟶ (G i) ⟶ partial(ℕ)
4. P
5. List
6. ∀[x:tuple-type(map(G;v))]. (tuple-sum(f;v;x) ∈ partial(ℕ))
7. null(v) ff
⊢ ∀[x:G u × tuple-type(map(G;v))]. (let u@0,v@0 in (f u@0) tuple-sum(f;v;v@0) ∈ partial(ℕ))


Latex:


Latex:
\mforall{}[P:Type].  \mforall{}[G:P  {}\mrightarrow{}  Type].  \mforall{}[f:i:P  {}\mrightarrow{}  (G  i)  {}\mrightarrow{}  partial(\mBbbN{})].  \mforall{}[as:P  List].
\mforall{}[x:tuple-type(map(G;as))].
    (tuple-sum(f;as;x)  \mmember{}  partial(\mBbbN{}))


By


Latex:
(InductionOnList
  THEN  Unfold  `tuple-sum`  0
  THEN  Reduce  0
  THEN  ((RWO  "null-map"  0  THENA  Auto)  ORELSE  Auto)
  THEN  (SimpleBoolCase  \mkleeneopen{}null(v)\mkleeneclose{}\mcdot{}  THENA  Auto))




Home Index