Isabelle / HOL中矩阵的可交换性

时间:2019-03-13 23:03:11

标签: isabelle

我正试图证明以下引理:

  SELECT
    -- Campaign
    ( SELECT 
          '@Type'                           = 'C'
         ,'campaign/campaign_code'          = mc.campaign_code
         ,'campaign/camapaign_start_date'   = mc.camapaign_start_date
         FOR XML PATH('marketCampaign'), TYPE),
    -- Activity
    (SELECT
         '@Type'                = 'A'
        ,'activity/activity_code'   = mc.activity_code
        ,'activity/campaign_code'   = mc.campaign_code
        FOR XML PATH('marketCampaign'), TYPE),
    -- Message
    (SELECT
        '@Type'                  = 'I'
        ,'message/activity_code'         = mc.activity_code
        ,'message/target_email_address'  = ISNULL(mc.comms_supporter_id,'')
        ,'message/email_content'         =  '===TEST ===='
        ,'message/creationDate'          = format( DATEADD(month, -3,  getdate()), 'dd/MM/yyyy')  
        ,'message/time'                  = '00:00:00'
        FOR XML PATH('marketCampaign'), TYPE)
 FROM marketingCampaign mc
FOR XML PATH(''), ROOT('xml')

但是我不能这样做,因为可以证明using System; namespace Exercise4 { class Program { static void Main(string[] args) { Start: Console.WriteLine("Za login stisnete 1 ili za register 2"); var input = Console.ReadLine(); bool successfull = false; while (!successfull) { var arrUsers = new Users[] { new Users("tomas","samsung",2605), new Users("stefan","pasle",15), new Users("dimitar","jovanov",32) }; if (input == "1") { Console.WriteLine("Write your username:"); var username = Console.ReadLine(); Console.WriteLine("Enter your password:"); var password = Console.ReadLine(); foreach (Users user in arrUsers) { if (username == user.username && password == user.password) { Console.WriteLine("You have successfully logged in !!!"); Console.ReadLine(); successfull = true; break; } else if (username != user.username || password != user.password) { Console.WriteLine("Your username or password is incorect, try again !!!"); Console.ReadLine(); break; } } } else if (input == "2") { Console.WriteLine("Enter your username:"); var username = Console.ReadLine(); Console.WriteLine("Enter your password:"); var password = Console.ReadLine(); Console.WriteLine("Enter your id:"); int id = int.Parse(Console.ReadLine()); Array.Resize(ref arrUsers, arrUsers.Length + 1); arrUsers[arrUsers.Length - 1] = new Users(username,password, id); successfull = true; goto Start; } else { Console.WriteLine("Try again !!!"); break; } } } } } 很简单。可能是因为lemma fixes A B C D :: "((real, 3) vec, 3) vec" and v m :: " (real, 3) vec" assumes "∃ A. m = D ** A ** B *v v" shows "∃ A. m = D ** B ** A *v v" !。谁能解释为什么Isabelle / HOL无法证明这一点? 谢谢

0 个答案:

没有答案