I'm not sure I necessarily understand all of your question, but it seems
as if you are hoping to prove the

  (x * y = 0)  <=> (x = 0) \/ (y = 0)

property for multiplication in your linear space.  Your vectors are
lists of coefficients, so that x = 0 really means that the list x
consists only of zeroes.

You say you want to prove (perhaps by induction)

  (LENGTH x = LENGTH y) /\ (x * y = 0) /\ EVERY (\e. e <> 0) x ==>
  EVERY (\e. e = 0) y

This is not right though.  You should have

  EXISTS (\e. e <> 0) x

as an assumption.  In other words, to be a non-zero vector, it is enough
to have one element be non-zero.  It is not necessary to have *all*
elements be non-zero.

Note how you don't need to define P and Q separately as constants, just
write out the lambda-expression.

Michael



On 22/03/13 7:46 PM, Yuntao Peng wrote:
> I want to prove a property of linear space. Property description as follows:

> If exist unique β, and β = p_1 α_1 +p_2 α_2 +…+p_n α_n , then α_1, α_2 ,
> … , α_n linearly independent.

> Where β, α_1, α_2 , … , α_n  are the elements of linearly space, and
> p_1, p_2, … , p_n are complex.



> Derivation:

> β = p_1 α_1 +p_2 α_2 +…+p_n α_n   (1)

> 0 = k_1 α_1 +k_2 α_2 +…+k_n α_n (2)_

> (1)+ (2)  ==> β = p_1 α_1 +p_2 α_2 +…+p_n α_n = (k_1 +p_1 )α_1 +(k_2
> +p_2 )α_2 +…+(k_n +p_n )α_n

> ==> k1=0, k2=0,…, kn=0 ==> α_1, α_2 , … , α_n linearly independent





> Now, I have proved a goal, and save it as a theorem.

> g `!k:complex x:'a. (k LM x = ls0) /\ (x <> ls0) ==> (k = 0)`

> Where “LM” is multiplication sign of linear space, “ls0” is zero of
> linear space.

> My question is how to prove the goal as follows?

> g `!l1:complex list l2:'a list. (LENGTH l1 = LENGTH l2) /\ (LMP(l1,l2) =
> ls0) /\ (EVERY P l2) ==> (EVERY Q l1)`;

> Where“LN” is plus of linear space.

> val ls_mult_add =
> Define


>     `(LMP ([],l2:'a list)  = ls0) /\

>      (LMP ((h1::t1):complex list,l2:'a list) = if (l2 = []) then ls0

>                                                      else (h1 LM HD l2)
> LP (LMP (t1,TL l2)))`;

> if l1=(p1,p2,…,pn), l2=(α_1 ,α_2 ,…,α_n ) , then LMP(l1,l2) = p_1 α_1
> +p_2 α_2 +…+p_n α_n

> val Q_def = Define `!x:complex. Q x = (x = 0c)`;

> val P_def = Define `!x:'a. P x = (x <> ls0)`;





> I am looking forward your advice.

> Thanks.

>                                                 Peng.


> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar



> _______________________________________________
> hol-info mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/hol-info

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
hol-info mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to