
theorem Th21:
  for I be non empty set, G be Group,
      a be finite-support Function of I,G,
      i be Element of I, g be Element of G
  st a = (I --> 1_G) +* (i,g)
  holds Product a = g
  proof
    let I be non empty set, G be Group,
        a be finite-support Function of I,G,
        i be Element of I, g be Element of G;
    assume
    A1: a = (I --> 1_G) +* (i,g);
    A2: dom(I --> 1_G) = I by FUNCOP_1:13;
    per cases;
    suppose
      A3: g <> 1_G; then
      support(a) = {i} by A1,Th20; then
      i in support(a) by TARSKI:def 1; then
      A6: i in dom(a|support(a)) by FUNCT_2:def 1;
      (a|support(a)) * canFS(support(a))
         = (a|support(a)) * canFS({i}) by A1,A3,Th20
        .= (a|support(a)) * <*i*> by FINSEQ_1:94
        .= <* (a|support(a)).i *> by A6,FINSEQ_2:34
        .= <* a.i *> by A6,FUNCT_1:47
        .= <*g*> by A1,A2,FUNCT_7:31;
      hence Product a = Product(<*g*>) by GROUP_17:def 1
                     .= g by GROUP_4:9;
    end;
    suppose
      A7: g = 1_G;
      a = I --> 1_G
      proof
        A8: dom a = dom(I --> 1_G) by A1,FUNCT_7:30;
        for j be object st j in I holds a.j = (I --> 1_G).j
        proof
          let j be object;
          assume
          A9: j in I; then
          A10: (I --> 1_G).j = 1_G by FUNCOP_1:7;
          per cases;
          suppose
            j = i;
            hence thesis by A1,A2,A7,A10,FUNCT_7:31;
          end;
          suppose
            j <> i; then
            a.j = (I --> 1_G).j by A1,FUNCT_7:32
               .= 1_G by A9,FUNCOP_1:7;
            hence thesis by A9,FUNCOP_1:7;
          end;
        end;
        hence thesis by A2,A8,FUNCT_1:2;
      end;
      hence thesis by A7,Th16;
    end;
  end;
