Step
*
1
2
1
1
1
1
1
of Lemma
injections-combinations
1. n : ℕ
2. T : Type
3. λf.mklist(n;f) ∈ ℕn →⟶ T ⟶ Combination(n;T)
4. a1 : ℕn ⟶ T
5. Inj(ℕn;T;a1)
6. a2 : ℕn ⟶ T
7. Inj(ℕn;T;a2)
8. mklist(n;a1) = mklist(n;a2) ∈ (T List)
9. no_repeats(T;mklist(n;a1)) ∧ (||mklist(n;a1)|| = n ∈ ℤ)
10. x : ℕn
⊢ (a1 x) = (a2 x) ∈ T
BY
{ TACTIC:(Assert mklist(n;a1)[x] = mklist(n;a2)[x] ∈ T BY
                (StrongHypSubst (-3) 0 THEN Auto THEN Try (HypSubst' (-1) 0) THEN RWO "mklist_length" 0 THEN Auto)) }
1
1. n : ℕ
2. T : Type
3. λf.mklist(n;f) ∈ ℕn →⟶ T ⟶ Combination(n;T)
4. a1 : ℕn ⟶ T
5. Inj(ℕn;T;a1)
6. a2 : ℕn ⟶ T
7. Inj(ℕn;T;a2)
8. mklist(n;a1) = mklist(n;a2) ∈ (T List)
9. no_repeats(T;mklist(n;a1)) ∧ (||mklist(n;a1)|| = n ∈ ℤ)
10. x : ℕn
11. mklist(n;a1)[x] = mklist(n;a2)[x] ∈ T
⊢ (a1 x) = (a2 x) ∈ T
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  T  :  Type
3.  \mlambda{}f.mklist(n;f)  \mmember{}  \mBbbN{}n  \mrightarrow{}{}\mrightarrow{}  T  {}\mrightarrow{}  Combination(n;T)
4.  a1  :  \mBbbN{}n  {}\mrightarrow{}  T
5.  Inj(\mBbbN{}n;T;a1)
6.  a2  :  \mBbbN{}n  {}\mrightarrow{}  T
7.  Inj(\mBbbN{}n;T;a2)
8.  mklist(n;a1)  =  mklist(n;a2)
9.  no\_repeats(T;mklist(n;a1))  \mwedge{}  (||mklist(n;a1)||  =  n)
10.  x  :  \mBbbN{}n
\mvdash{}  (a1  x)  =  (a2  x)
By
Latex:
TACTIC:(Assert  mklist(n;a1)[x]  =  mklist(n;a2)[x]  BY
                            (StrongHypSubst  (-3)  0
                              THEN  Auto
                              THEN  Try  (HypSubst'  (-1)  0)
                              THEN  RWO  "mklist\_length"  0
                              THEN  Auto))
Home
Index