
theorem LM080:
  for n be non zero Nat, x be Tuple of n, BOOLEAN
  holds
  for m,l be Nat,
  y be Tuple of l, BOOLEAN
  st y = x ^(0* m)
  holds Absval y = Absval x
  proof
    let n be non zero Nat;
    let x be Tuple of n, BOOLEAN;
    defpred P[Nat] means
    for l be Nat,
    y be Tuple of l, BOOLEAN
    st y = x ^(0* $1)
    holds Absval y = Absval x;

    A1: for m being Nat st P[m] holds
    P[m + 1]
    proof
      let m be Nat;
      assume A2:
      for l be Nat,
      y be Tuple of l, BOOLEAN
      st y = x ^(0* m)
      holds Absval y = Absval x;
      let l be Nat,
      y be Tuple of l, BOOLEAN;
      assume A3:
      y = x ^(0* (m+1));
      0* m in BOOLEAN * by BINARI_3:4;
      then reconsider z = 0* m as Tuple of m, BOOLEAN by FINSEQ_1:def 11;
      x ^z is Tuple of n+m,BOOLEAN;
      then
      reconsider y1 = x ^(0* m) as Tuple of n+m,BOOLEAN;
      0* (m+1) = (0* m) ^ <*FALSE*> by FINSEQ_2:60;
      then
      A4: y = y1 ^ <*FALSE*> by FINSEQ_1:32,A3;
      X1: len y = l by CARD_1:def 7;
      len (y1 ^ <*FALSE*>) = len y1 + len <*FALSE*> by FINSEQ_1:22
      .= len y1 + 1 by FINSEQ_1:40
      .= n+m+1 by CARD_1:def 7;
      hence Absval y
      = (Absval y1) + (IFEQ (FALSE,FALSE,0,(2 to_power (n+m))))
      by X1,BINARITH:20,A4
      .= Absval x + (IFEQ (FALSE,FALSE,0,(2 to_power (n+m)))) by A2
      .= Absval x + 0 by FUNCOP_1:def 8
      .= Absval x;
    end;
    A0: P[0]
    proof
      let l be Nat,
      y be Tuple of l, BOOLEAN;
      assume AS2: y = x ^(0* 0);

      A3: x ^(0* 0) = x by FINSEQ_1:34;
      x is Tuple of l, BOOLEAN by FINSEQ_1:34,AS2;
      then
      len x = l by CARD_1:def 7;
      hence
      Absval y = Absval x by A3,AS2,CARD_1:def 7;
    end;
    for m be Nat holds P[m] from NAT_1:sch 2(A0,A1);
    hence thesis;
  end;
