From ai.robert.wangshuai at gmail.com Wed Jun 3 14:58:06 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Wed, 3 Jun 2015 16:58:06 +0200 Subject: [opentheory-users] Importing proofs of version 6 Message-ID: Dear Joe, I noticed that I can't using import for the current version (version 6). I am using the one from: git clone http://src.gilith.com/hol-light I wonder if you have implemented it/updated the import.ml file, so I won't have to redo your work. Thanks Robert -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Wed Jun 3 16:00:54 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Wed, 3 Jun 2015 18:00:54 +0200 Subject: [opentheory-users] axioms or proofs? Message-ID: Dear Joe, Is there any reason why you want to change some axioms in the files as "proofs"? For example: let ETA_AX = let axiom = let ty0 = mk_vartype "A" in let ty1 = mk_vartype "B" in let ty2 = mk_fun_ty ty0 ty1 in let ty3 = mk_type ("bool",[]) in let ty4 = mk_fun_ty ty2 ty3 in let tm0 = mk_var ("a",ty4) in let tm1 = mk_var ("b",ty2) in let tm2 = mk_var ("c",ty3) in let tm3 = mk_abs (tm2,tm2) in let tm4 = mk_eq (tm3,tm3) in let tm5 = mk_abs (tm1,tm4) in let tm6 = mk_eq (tm0,tm5) in let tm7 = mk_abs (tm0,tm6) in let tm8 = mk_var ("d",ty2) in let tm9 = mk_var ("e",ty0) in let tm10 = mk_comb (tm8,tm9) in let tm11 = mk_abs (tm9,tm10) in let tm12 = mk_eq (tm11,tm8) in let tm13 = mk_abs (tm8,tm12) in let tm14 = mk_comb (tm7,tm13) in new_axiom tm14 in prove (`!(t:A->B). (\x. t x) = t`, PURE_REWRITE_TAC [FORALL_DEF; T_DEF] THEN ACCEPT_TAC axiom);; instead of just : let ETA_AX = new_axiom `!t:A->B. (\x. t x) = t`;; Thanks! -- Regards, Robert White (Shuai Wang) INRIA Deducteam -------------- next part -------------- An HTML attachment was scrubbed... URL: From konrad.slind at gmail.com Wed Jun 3 16:49:38 2015 From: konrad.slind at gmail.com (Konrad Slind) Date: Wed, 3 Jun 2015 11:49:38 -0500 Subject: [opentheory-users] axioms or proofs? In-Reply-To: References: Message-ID: ETA_AX used to be a primitive in the HOL logic, but someone (Bruno Barras? John Harrison?) realized that it could be proved from the other axioms. Since removing unnecessary axioms is thought to be a good thing, it was made into a proved theorem. Konrad. On Wed, Jun 3, 2015 at 11:00 AM, Robert White wrote: > Dear Joe, > > Is there any reason why you want to change some axioms in the files as > "proofs"? > For example: > > let ETA_AX = > let axiom = > let ty0 = mk_vartype "A" in > let ty1 = mk_vartype "B" in > let ty2 = mk_fun_ty ty0 ty1 in > let ty3 = mk_type ("bool",[]) in > let ty4 = mk_fun_ty ty2 ty3 in > let tm0 = mk_var ("a",ty4) in > let tm1 = mk_var ("b",ty2) in > let tm2 = mk_var ("c",ty3) in > let tm3 = mk_abs (tm2,tm2) in > let tm4 = mk_eq (tm3,tm3) in > let tm5 = mk_abs (tm1,tm4) in > let tm6 = mk_eq (tm0,tm5) in > let tm7 = mk_abs (tm0,tm6) in > let tm8 = mk_var ("d",ty2) in > let tm9 = mk_var ("e",ty0) in > let tm10 = mk_comb (tm8,tm9) in > let tm11 = mk_abs (tm9,tm10) in > let tm12 = mk_eq (tm11,tm8) in > let tm13 = mk_abs (tm8,tm12) in > let tm14 = mk_comb (tm7,tm13) in > new_axiom tm14 > in > prove > (`!(t:A->B). (\x. t x) = t`, > PURE_REWRITE_TAC [FORALL_DEF; T_DEF] THEN > ACCEPT_TAC axiom);; > > > instead of just : > > let ETA_AX = new_axiom > `!t:A->B. (\x. t x) = t`;; > > Thanks! > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Wed Jun 3 20:42:37 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Wed, 3 Jun 2015 13:42:37 -0700 Subject: [opentheory-users] axioms or proofs? In-Reply-To: References: Message-ID: For some reason ETA_AX is still an axiom in HOL Light, together with SELECT_AX and INFINITY_AX. All this proof snippet does is write the axiom in terms of the primitive symbols (the only primitive constant is =) and then derive the usual presentation of the axiom from the primitive one. This trick is used to ensure that the primitive axioms of OpenTheory do not depend on the definition of any symbol. Cheers, Joe On Wed, Jun 3, 2015 at 9:49 AM, Konrad Slind wrote: > ETA_AX used to be a primitive in the HOL logic, but > someone (Bruno Barras? John Harrison?) realized that > it could be proved from the other axioms. Since > removing unnecessary axioms is thought to be > a good thing, it was made into a proved theorem. > > Konrad. > > > On Wed, Jun 3, 2015 at 11:00 AM, Robert White > wrote: >> >> Dear Joe, >> >> Is there any reason why you want to change some axioms in the files as >> "proofs"? >> For example: >> >> let ETA_AX = >> let axiom = >> let ty0 = mk_vartype "A" in >> let ty1 = mk_vartype "B" in >> let ty2 = mk_fun_ty ty0 ty1 in >> let ty3 = mk_type ("bool",[]) in >> let ty4 = mk_fun_ty ty2 ty3 in >> let tm0 = mk_var ("a",ty4) in >> let tm1 = mk_var ("b",ty2) in >> let tm2 = mk_var ("c",ty3) in >> let tm3 = mk_abs (tm2,tm2) in >> let tm4 = mk_eq (tm3,tm3) in >> let tm5 = mk_abs (tm1,tm4) in >> let tm6 = mk_eq (tm0,tm5) in >> let tm7 = mk_abs (tm0,tm6) in >> let tm8 = mk_var ("d",ty2) in >> let tm9 = mk_var ("e",ty0) in >> let tm10 = mk_comb (tm8,tm9) in >> let tm11 = mk_abs (tm9,tm10) in >> let tm12 = mk_eq (tm11,tm8) in >> let tm13 = mk_abs (tm8,tm12) in >> let tm14 = mk_comb (tm7,tm13) in >> new_axiom tm14 >> in >> prove >> (`!(t:A->B). (\x. t x) = t`, >> PURE_REWRITE_TAC [FORALL_DEF; T_DEF] THEN >> ACCEPT_TAC axiom);; >> >> >> instead of just : >> >> let ETA_AX = new_axiom >> `!t:A->B. (\x. t x) = t`;; >> >> Thanks! >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> >> _______________________________________________ >> opentheory-users mailing list >> opentheory-users at gilith.com >> http://www.gilith.com/mailman/listinfo/opentheory-users >> > From joe at gilith.com Wed Jun 3 20:46:29 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Wed, 3 Jun 2015 13:46:29 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Hi Robert, Unfortunately I have not yet updated the import capability in my HOL Light fork to work with version 6 theories. You can either: 1. Use the command I showed you before to convert version 6 articles to version 5 before importing them. 2. Wait for me to implement this functionality. 3. Implement it yourself and send me a pull request. Please let me know what you decide: it may affect the wait time in solution 2 :-) Cheers, Joe On Wed, Jun 3, 2015 at 7:58 AM, Robert White wrote: > Dear Joe, > > I noticed that I can't using import for the current version (version 6). I > am using the one from: > > git clone http://src.gilith.com/hol-light > > > I wonder if you have implemented it/updated the import.ml file, so I won't > have to redo your work. > > > Thanks > > Robert > > From ramana at member.fsf.org Wed Jun 3 21:04:19 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Wed, 3 Jun 2015 22:04:19 +0100 Subject: [opentheory-users] axioms or proofs? In-Reply-To: References: Message-ID: I suspect ETA_AX cannot be derived in HOL Light (i.e. the formulation with only equality as primitive), but maybe can in other formulations. Or were you thinking of IMP_ANTISYM_AX, Konrad? On 3 June 2015 at 21:42, Joe Leslie-Hurd wrote: > For some reason ETA_AX is still an axiom in HOL Light, together with > SELECT_AX and INFINITY_AX. > > All this proof snippet does is write the axiom in terms of the > primitive symbols (the only primitive constant is =) and then derive > the usual presentation of the axiom from the primitive one. This trick > is used to ensure that the primitive axioms of OpenTheory do not > depend on the definition of any symbol. > > Cheers, > > Joe > > On Wed, Jun 3, 2015 at 9:49 AM, Konrad Slind wrote: >> ETA_AX used to be a primitive in the HOL logic, but >> someone (Bruno Barras? John Harrison?) realized that >> it could be proved from the other axioms. Since >> removing unnecessary axioms is thought to be >> a good thing, it was made into a proved theorem. >> >> Konrad. >> >> >> On Wed, Jun 3, 2015 at 11:00 AM, Robert White >> wrote: >>> >>> Dear Joe, >>> >>> Is there any reason why you want to change some axioms in the files as >>> "proofs"? >>> For example: >>> >>> let ETA_AX = >>> let axiom = >>> let ty0 = mk_vartype "A" in >>> let ty1 = mk_vartype "B" in >>> let ty2 = mk_fun_ty ty0 ty1 in >>> let ty3 = mk_type ("bool",[]) in >>> let ty4 = mk_fun_ty ty2 ty3 in >>> let tm0 = mk_var ("a",ty4) in >>> let tm1 = mk_var ("b",ty2) in >>> let tm2 = mk_var ("c",ty3) in >>> let tm3 = mk_abs (tm2,tm2) in >>> let tm4 = mk_eq (tm3,tm3) in >>> let tm5 = mk_abs (tm1,tm4) in >>> let tm6 = mk_eq (tm0,tm5) in >>> let tm7 = mk_abs (tm0,tm6) in >>> let tm8 = mk_var ("d",ty2) in >>> let tm9 = mk_var ("e",ty0) in >>> let tm10 = mk_comb (tm8,tm9) in >>> let tm11 = mk_abs (tm9,tm10) in >>> let tm12 = mk_eq (tm11,tm8) in >>> let tm13 = mk_abs (tm8,tm12) in >>> let tm14 = mk_comb (tm7,tm13) in >>> new_axiom tm14 >>> in >>> prove >>> (`!(t:A->B). (\x. t x) = t`, >>> PURE_REWRITE_TAC [FORALL_DEF; T_DEF] THEN >>> ACCEPT_TAC axiom);; >>> >>> >>> instead of just : >>> >>> let ETA_AX = new_axiom >>> `!t:A->B. (\x. t x) = t`;; >>> >>> Thanks! >>> >>> -- >>> >>> Regards, >>> Robert White (Shuai Wang) >>> INRIA Deducteam >>> >>> _______________________________________________ >>> opentheory-users mailing list >>> opentheory-users at gilith.com >>> http://www.gilith.com/mailman/listinfo/opentheory-users >>> >> > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users From ai.robert.wangshuai at gmail.com Wed Jun 3 21:12:42 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Wed, 3 Jun 2015 23:12:42 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Thanks for the reply. I would like to give it a try so I choose option 3 for now. I will use option 1 to continue my project alongside. Regards, Robert On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: > Hi Robert, > > Unfortunately I have not yet updated the import capability in my HOL > Light fork to work with version 6 theories. You can either: > > 1. Use the command I showed you before to convert version 6 articles > to version 5 before importing them. > 2. Wait for me to implement this functionality. > 3. Implement it yourself and send me a pull request. > > Please let me know what you decide: it may affect the wait time in > solution 2 :-) > > Cheers, > > Joe > > On Wed, Jun 3, 2015 at 7:58 AM, Robert White > wrote: > > Dear Joe, > > > > I noticed that I can't using import for the current version (version 6). > I > > am using the one from: > > > > git clone http://src.gilith.com/hol-light > > > > > > I wonder if you have implemented it/updated the import.ml file, so I > won't > > have to redo your work. > > > > > > Thanks > > > > Robert > > > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Fri Jun 5 02:55:24 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Thu, 4 Jun 2015 19:55:24 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Robert and I have updated the HOL Light importer to work with version 6 articles, which is now available from http://src.gilith.com/hol-light.html It is very lightly tested at this point, so it may well be buggy. I was able to read in the standard theory library as a version 6 article, which I generated using the command opentheory info --article -o base.art base but I didn't even look closely at the results. Cheers, Joe On Wed, Jun 3, 2015 at 2:12 PM, Robert White wrote: > Thanks for the reply. > > I would like to give it a try so I choose option 3 for now. I will use > option 1 to continue my project alongside. > > Regards, > Robert > > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> Unfortunately I have not yet updated the import capability in my HOL >> Light fork to work with version 6 theories. You can either: >> >> 1. Use the command I showed you before to convert version 6 articles >> to version 5 before importing them. >> 2. Wait for me to implement this functionality. >> 3. Implement it yourself and send me a pull request. >> >> Please let me know what you decide: it may affect the wait time in >> solution 2 :-) >> >> Cheers, >> >> Joe >> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >> wrote: >> > Dear Joe, >> > >> > I noticed that I can't using import for the current version (version 6). >> > I >> > am using the one from: >> > >> > git clone http://src.gilith.com/hol-light >> > >> > >> > I wonder if you have implemented it/updated the import.ml file, so I >> > won't >> > have to redo your work. >> > >> > >> > Thanks >> > >> > Robert >> > >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam From ai.robert.wangshuai at gmail.com Fri Jun 5 06:38:35 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Fri, 5 Jun 2015 08:38:35 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Thanks Joe! I will have to do some more test. I will let you know if I find any bug. Regards, Robert On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: > Robert and I have updated the HOL Light importer to work with version > 6 articles, which is now available from > > http://src.gilith.com/hol-light.html > > It is very lightly tested at this point, so it may well be buggy. I > was able to read in the standard theory library as a version 6 > article, which I generated using the command > > opentheory info --article -o base.art base > > but I didn't even look closely at the results. > > Cheers, > > Joe > > > On Wed, Jun 3, 2015 at 2:12 PM, Robert White > wrote: > > Thanks for the reply. > > > > I would like to give it a try so I choose option 3 for now. I will use > > option 1 to continue my project alongside. > > > > Regards, > > Robert > > > > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: > >> > >> Hi Robert, > >> > >> Unfortunately I have not yet updated the import capability in my HOL > >> Light fork to work with version 6 theories. You can either: > >> > >> 1. Use the command I showed you before to convert version 6 articles > >> to version 5 before importing them. > >> 2. Wait for me to implement this functionality. > >> 3. Implement it yourself and send me a pull request. > >> > >> Please let me know what you decide: it may affect the wait time in > >> solution 2 :-) > >> > >> Cheers, > >> > >> Joe > >> > >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White > >> wrote: > >> > Dear Joe, > >> > > >> > I noticed that I can't using import for the current version (version > 6). > >> > I > >> > am using the one from: > >> > > >> > git clone http://src.gilith.com/hol-light > >> > > >> > > >> > I wonder if you have implemented it/updated the import.ml file, so I > >> > won't > >> > have to redo your work. > >> > > >> > > >> > Thanks > >> > > >> > Robert > >> > > >> > > > > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Fri Jun 5 12:44:44 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Fri, 5 Jun 2015 14:44:44 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Dear Joe, I am wondering if I am using it correctly. I would like to load some thm in and do some proof checking and proof optimisation. However, after loading the hol.ml and then do let all = import_article "../../laholide/opentheory/bool.art";; I get errors saying I am redefining constants. For instance, the bool.art file: # let all = import_article "../../laholide/opentheory/bool.art";; Exception: Failure "in article ../../laholide/opentheory/bool.art at line 89: defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already been declared". I could solve the problem by either not loading some of the files in HOL, so constants won't be redefined, or try to detect the problems that are defined but going to be redefined the same way. I would you solve the problem for the OpenTheory version of HOL. Thanks Regards, Robert On 5 June 2015 at 08:38, Robert White wrote: > Thanks Joe! > > I will have to do some more test. I will let you know if I find any bug. > > Regards, > Robert > > On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: > >> Robert and I have updated the HOL Light importer to work with version >> 6 articles, which is now available from >> >> http://src.gilith.com/hol-light.html >> >> It is very lightly tested at this point, so it may well be buggy. I >> was able to read in the standard theory library as a version 6 >> article, which I generated using the command >> >> opentheory info --article -o base.art base >> >> but I didn't even look closely at the results. >> >> Cheers, >> >> Joe >> >> >> On Wed, Jun 3, 2015 at 2:12 PM, Robert White >> wrote: >> > Thanks for the reply. >> > >> > I would like to give it a try so I choose option 3 for now. I will use >> > option 1 to continue my project alongside. >> > >> > Regards, >> > Robert >> > >> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >> >> >> >> Hi Robert, >> >> >> >> Unfortunately I have not yet updated the import capability in my HOL >> >> Light fork to work with version 6 theories. You can either: >> >> >> >> 1. Use the command I showed you before to convert version 6 articles >> >> to version 5 before importing them. >> >> 2. Wait for me to implement this functionality. >> >> 3. Implement it yourself and send me a pull request. >> >> >> >> Please let me know what you decide: it may affect the wait time in >> >> solution 2 :-) >> >> >> >> Cheers, >> >> >> >> Joe >> >> >> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >> >> wrote: >> >> > Dear Joe, >> >> > >> >> > I noticed that I can't using import for the current version (version >> 6). >> >> > I >> >> > am using the one from: >> >> > >> >> > git clone http://src.gilith.com/hol-light >> >> > >> >> > >> >> > I wonder if you have implemented it/updated the import.ml file, so I >> >> > won't >> >> > have to redo your work. >> >> > >> >> > >> >> > Thanks >> >> > >> >> > Robert >> >> > >> >> > >> > >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Fri Jun 5 13:30:53 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Fri, 5 Jun 2015 15:30:53 +0200 Subject: [opentheory-users] What is "asms" doing (from import) Message-ID: Dear Joe, I noticed that after reading it in, say the bool.art. We suppose to have a list of thm (of course) but I noticed there is also a list of assumptions. And the asms for bool.art is even not parsable: ([([], `(\a. = a (\b. = (\c. c) (\c. c))) (\d. = (\e. d e) d)`); ([], `(\a. = a (\b. = (\c. c) (\c. c))) (\d. (\e. = e (\f. = (\c. c) (\c. c))) (\g. (\h i. = ((\j k. = (\l. l j k) (\m. m (= (\c. c) (\c. c)) (= (\c. c) (\c. c)))) h i) h) (d g) (d (@ d))))`)], Now I am very confused what this "asms" is here for. I can't even (meaningfully) read the first line :( Thanks very much! -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Fri Jun 5 17:00:27 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Fri, 5 Jun 2015 10:00:27 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Hi Robert, You are using it correctly. The intent of the import facility is to extend the current logical context by bringing in a new theory, not to change the current logical context. The error that you are redefining the T constant is an indication that you are trying to change the current logical context. What is your eventual goal using the OpenTheory importer in HOL Light? I assume you have some new theories you want to import that are not already in HOL Light. Cheers, Joe On Fri, Jun 5, 2015 at 5:44 AM, Robert White wrote: > Dear Joe, > > I am wondering if I am using it correctly. I would like to load some thm in > and do some proof checking and proof optimisation. However, after loading > the hol.ml and then do > let all = import_article "../../laholide/opentheory/bool.art";; > I get errors saying I am redefining constants. For instance, the bool.art > file: > > # let all = import_article "../../laholide/opentheory/bool.art";; > Exception: > Failure > "in article ../../laholide/opentheory/bool.art at line 89: > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T > has already been declared". > > I could solve the problem by either not loading some of the files in HOL, so > constants won't be redefined, or try to detect the problems that are defined > but going to be redefined the same way. I would you solve the problem for > the OpenTheory version of HOL. > > Thanks > Regards, > Robert > > > On 5 June 2015 at 08:38, Robert White wrote: >> >> Thanks Joe! >> >> I will have to do some more test. I will let you know if I find any bug. >> >> Regards, >> Robert >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: >>> >>> Robert and I have updated the HOL Light importer to work with version >>> 6 articles, which is now available from >>> >>> http://src.gilith.com/hol-light.html >>> >>> It is very lightly tested at this point, so it may well be buggy. I >>> was able to read in the standard theory library as a version 6 >>> article, which I generated using the command >>> >>> opentheory info --article -o base.art base >>> >>> but I didn't even look closely at the results. >>> >>> Cheers, >>> >>> Joe >>> >>> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White >>> wrote: >>> > Thanks for the reply. >>> > >>> > I would like to give it a try so I choose option 3 for now. I will use >>> > option 1 to continue my project alongside. >>> > >>> > Regards, >>> > Robert >>> > >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >>> >> >>> >> Hi Robert, >>> >> >>> >> Unfortunately I have not yet updated the import capability in my HOL >>> >> Light fork to work with version 6 theories. You can either: >>> >> >>> >> 1. Use the command I showed you before to convert version 6 articles >>> >> to version 5 before importing them. >>> >> 2. Wait for me to implement this functionality. >>> >> 3. Implement it yourself and send me a pull request. >>> >> >>> >> Please let me know what you decide: it may affect the wait time in >>> >> solution 2 :-) >>> >> >>> >> Cheers, >>> >> >>> >> Joe >>> >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >>> >> wrote: >>> >> > Dear Joe, >>> >> > >>> >> > I noticed that I can't using import for the current version (version >>> >> > 6). >>> >> > I >>> >> > am using the one from: >>> >> > >>> >> > git clone http://src.gilith.com/hol-light >>> >> > >>> >> > >>> >> > I wonder if you have implemented it/updated the import.ml file, so I >>> >> > won't >>> >> > have to redo your work. >>> >> > >>> >> > >>> >> > Thanks >>> >> > >>> >> > Robert >>> >> > >>> >> > >>> > >>> > >>> > >>> > >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep. ] >> [New email address will be shuai.wang at student.uva.nl] >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Fri Jun 5 17:04:28 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Fri, 5 Jun 2015 19:04:28 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Hi Joe, At the moment I am only trying to load the old proofs. but if I don't change the hol.ml file there will be conflict then. So seems the only solution is that I completely comment out the rest of the files loaded in hol.ml if so? No, I don't have new theories so far. Regards, Robert On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: > Hi Robert, > > You are using it correctly. The intent of the import facility is to > extend the current logical context by bringing in a new theory, not to > change the current logical context. The error that you are redefining > the T constant is an indication that you are trying to change the > current logical context. > > What is your eventual goal using the OpenTheory importer in HOL Light? > I assume you have some new theories you want to import that are not > already in HOL Light. > > Cheers, > > Joe > > > On Fri, Jun 5, 2015 at 5:44 AM, Robert White > wrote: > > Dear Joe, > > > > I am wondering if I am using it correctly. I would like to load some thm > in > > and do some proof checking and proof optimisation. However, after loading > > the hol.ml and then do > > let all = import_article "../../laholide/opentheory/bool.art";; > > I get errors saying I am redefining constants. For instance, the bool.art > > file: > > > > # let all = import_article "../../laholide/opentheory/bool.art";; > > Exception: > > Failure > > "in article ../../laholide/opentheory/bool.art at line 89: > > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: > constant T > > has already been declared". > > > > I could solve the problem by either not loading some of the files in > HOL, so > > constants won't be redefined, or try to detect the problems that are > defined > > but going to be redefined the same way. I would you solve the problem for > > the OpenTheory version of HOL. > > > > Thanks > > Regards, > > Robert > > > > > > On 5 June 2015 at 08:38, Robert White > wrote: > >> > >> Thanks Joe! > >> > >> I will have to do some more test. I will let you know if I find any bug. > >> > >> Regards, > >> Robert > >> > >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: > >>> > >>> Robert and I have updated the HOL Light importer to work with version > >>> 6 articles, which is now available from > >>> > >>> http://src.gilith.com/hol-light.html > >>> > >>> It is very lightly tested at this point, so it may well be buggy. I > >>> was able to read in the standard theory library as a version 6 > >>> article, which I generated using the command > >>> > >>> opentheory info --article -o base.art base > >>> > >>> but I didn't even look closely at the results. > >>> > >>> Cheers, > >>> > >>> Joe > >>> > >>> > >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White > >>> wrote: > >>> > Thanks for the reply. > >>> > > >>> > I would like to give it a try so I choose option 3 for now. I will > use > >>> > option 1 to continue my project alongside. > >>> > > >>> > Regards, > >>> > Robert > >>> > > >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: > >>> >> > >>> >> Hi Robert, > >>> >> > >>> >> Unfortunately I have not yet updated the import capability in my HOL > >>> >> Light fork to work with version 6 theories. You can either: > >>> >> > >>> >> 1. Use the command I showed you before to convert version 6 articles > >>> >> to version 5 before importing them. > >>> >> 2. Wait for me to implement this functionality. > >>> >> 3. Implement it yourself and send me a pull request. > >>> >> > >>> >> Please let me know what you decide: it may affect the wait time in > >>> >> solution 2 :-) > >>> >> > >>> >> Cheers, > >>> >> > >>> >> Joe > >>> >> > >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White > >>> >> wrote: > >>> >> > Dear Joe, > >>> >> > > >>> >> > I noticed that I can't using import for the current version > (version > >>> >> > 6). > >>> >> > I > >>> >> > am using the one from: > >>> >> > > >>> >> > git clone http://src.gilith.com/hol-light > >>> >> > > >>> >> > > >>> >> > I wonder if you have implemented it/updated the import.ml file, > so I > >>> >> > won't > >>> >> > have to redo your work. > >>> >> > > >>> >> > > >>> >> > Thanks > >>> >> > > >>> >> > Robert > >>> >> > > >>> >> > > >>> > > >>> > > >>> > > >>> > > >>> > -- > >>> > > >>> > Regards, > >>> > Robert White (Shuai Wang) > >>> > INRIA Deducteam > >> > >> > >> > >> > >> -- > >> > >> Regards, > >> Robert White (Shuai Wang) > >> INRIA Deducteam > >> [Moving to ILLC of UvA from this Sep. ] > >> [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Fri Jun 5 17:10:34 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Fri, 5 Jun 2015 10:10:34 -0700 Subject: [opentheory-users] What is "asms" doing (from import) In-Reply-To: References: Message-ID: Hi Robert, This beast is one of the OpenTheory axioms in its expanded form, as we discussed recently: http://www.gilith.com/pipermail/opentheory-users/2015-June/000501.html When you import a theory you are required to link the external symbols (i.e., constants and type operators) to symbols in the logical context, and also to satisfy the theory assumptions with theorems in the logical context. In normal situations no one would have to see this unparsable axiom, because it is only used by the standard theory library, which contains a set of theories already formalized in each theorem prover in the HOL family, but the axiom is indeed present in the HOL Light logical context and can be accessed as a theorem using the "axioms" function. Cheers, Joe On Fri, Jun 5, 2015 at 6:30 AM, Robert White wrote: > Dear Joe, > > I noticed that after reading it in, say the bool.art. We suppose to have a > list of thm (of course) but I noticed there is also a list of assumptions. > And the asms for bool.art is even not parsable: > > > ([([], `(\a. = a (\b. = (\c. c) (\c. c))) (\d. = (\e. d e) d)`); > ([], > `(\a. = a (\b. = (\c. c) (\c. c))) > (\d. (\e. = e (\f. = (\c. c) (\c. c))) > (\g. (\h i. > = > ((\j k. > = (\l. l j k) > (\m. m (= (\c. c) (\c. c)) (= (\c. c) (\c. c)))) > h > i) > h) > (d g) > (d (@ d))))`)], > > > Now I am very confused what this "asms" is here for. I can't even > (meaningfully) read the first line :( > > Thanks very much! > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From joe at gilith.com Fri Jun 5 17:14:48 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Fri, 5 Jun 2015 10:14:48 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Hi Robert, Perhaps a more realistic case study would be to import a new theory from the OpenTheory repo: http://opentheory.gilith.com/ For example, opentheory install natural-divides opentheory info --article -o natural-divides.art natural-divides and then import this article file? Cheers, Joe On Fri, Jun 5, 2015 at 10:04 AM, Robert White wrote: > Hi Joe, > > At the moment I am only trying to load the old proofs. but if I don't change > the hol.ml file there will be conflict then. So seems the only solution is > that I completely comment out the rest of the files loaded in hol.ml if so? > > No, I don't have new theories so far. > Regards, > Robert > > On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> You are using it correctly. The intent of the import facility is to >> extend the current logical context by bringing in a new theory, not to >> change the current logical context. The error that you are redefining >> the T constant is an indication that you are trying to change the >> current logical context. >> >> What is your eventual goal using the OpenTheory importer in HOL Light? >> I assume you have some new theories you want to import that are not >> already in HOL Light. >> >> Cheers, >> >> Joe >> >> >> On Fri, Jun 5, 2015 at 5:44 AM, Robert White >> wrote: >> > Dear Joe, >> > >> > I am wondering if I am using it correctly. I would like to load some thm >> > in >> > and do some proof checking and proof optimisation. However, after >> > loading >> > the hol.ml and then do >> > let all = import_article "../../laholide/opentheory/bool.art";; >> > I get errors saying I am redefining constants. For instance, the >> > bool.art >> > file: >> > >> > # let all = import_article "../../laholide/opentheory/bool.art";; >> > Exception: >> > Failure >> > "in article ../../laholide/opentheory/bool.art at line 89: >> > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: >> > constant T >> > has already been declared". >> > >> > I could solve the problem by either not loading some of the files in >> > HOL, so >> > constants won't be redefined, or try to detect the problems that are >> > defined >> > but going to be redefined the same way. I would you solve the problem >> > for >> > the OpenTheory version of HOL. >> > >> > Thanks >> > Regards, >> > Robert >> > >> > >> > On 5 June 2015 at 08:38, Robert White >> > wrote: >> >> >> >> Thanks Joe! >> >> >> >> I will have to do some more test. I will let you know if I find any >> >> bug. >> >> >> >> Regards, >> >> Robert >> >> >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: >> >>> >> >>> Robert and I have updated the HOL Light importer to work with version >> >>> 6 articles, which is now available from >> >>> >> >>> http://src.gilith.com/hol-light.html >> >>> >> >>> It is very lightly tested at this point, so it may well be buggy. I >> >>> was able to read in the standard theory library as a version 6 >> >>> article, which I generated using the command >> >>> >> >>> opentheory info --article -o base.art base >> >>> >> >>> but I didn't even look closely at the results. >> >>> >> >>> Cheers, >> >>> >> >>> Joe >> >>> >> >>> >> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White >> >>> wrote: >> >>> > Thanks for the reply. >> >>> > >> >>> > I would like to give it a try so I choose option 3 for now. I will >> >>> > use >> >>> > option 1 to continue my project alongside. >> >>> > >> >>> > Regards, >> >>> > Robert >> >>> > >> >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >> >>> >> >> >>> >> Hi Robert, >> >>> >> >> >>> >> Unfortunately I have not yet updated the import capability in my >> >>> >> HOL >> >>> >> Light fork to work with version 6 theories. You can either: >> >>> >> >> >>> >> 1. Use the command I showed you before to convert version 6 >> >>> >> articles >> >>> >> to version 5 before importing them. >> >>> >> 2. Wait for me to implement this functionality. >> >>> >> 3. Implement it yourself and send me a pull request. >> >>> >> >> >>> >> Please let me know what you decide: it may affect the wait time in >> >>> >> solution 2 :-) >> >>> >> >> >>> >> Cheers, >> >>> >> >> >>> >> Joe >> >>> >> >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >> >>> >> wrote: >> >>> >> > Dear Joe, >> >>> >> > >> >>> >> > I noticed that I can't using import for the current version >> >>> >> > (version >> >>> >> > 6). >> >>> >> > I >> >>> >> > am using the one from: >> >>> >> > >> >>> >> > git clone http://src.gilith.com/hol-light >> >>> >> > >> >>> >> > >> >>> >> > I wonder if you have implemented it/updated the import.ml file, >> >>> >> > so I >> >>> >> > won't >> >>> >> > have to redo your work. >> >>> >> > >> >>> >> > >> >>> >> > Thanks >> >>> >> > >> >>> >> > Robert >> >>> >> > >> >>> >> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > >> >>> > Regards, >> >>> > Robert White (Shuai Wang) >> >>> > INRIA Deducteam >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> Regards, >> >> Robert White (Shuai Wang) >> >> INRIA Deducteam >> >> [Moving to ILLC of UvA from this Sep. ] >> >> [New email address will be shuai.wang at student.uva.nl] >> >> >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Fri Jun 5 19:59:57 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Fri, 5 Jun 2015 21:59:57 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: :( looks it is not working that way. # import_article "../laholide/opentheory/natural-divides.art";; Exception: Failure "in article ../laholide/opentheory/natural-divides.art at line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; []]\nunknown constant \"Number.Natural.divides\"". # and when I load other files, say list.art. I get all the thm as None. OHHH :( # import_article "../laholide/opentheory/list.art";; val it : (term list * term) list * (thm option * (term list * term)) option list = ([([], `(!) = (\p. p = (\x. T))`); ([], `(/\) = (\p q. (\f. f p q) = (\f. f T T))`); ([], `!n. EVEN (SUC n) <=> ~EVEN n`); ([], `!n. EVEN (BIT0 (BIT1 _0) * n)`); ([], `!m n. SUC m = SUC n <=> m = n`); ([], `!m n p. m * n = m * p <=> m = _0 \/ n = p`); ([], `!m n. m <= n /\ n <= m <=> m = n`); ([], `BIT0 _0 = _0`); ([], `!n. _0 + n = n`); ([], `!n. BIT0 (SUC n) = SUC (SUC (BIT0 n))`); ([], `!m n. SUC m + n = SUC (m + n)`); ([], `!m n. m + SUC n = SUC (m + n)`); ([], `!p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n)`); ([], `!n. BIT1 n = SUC (BIT0 n)`); ([], `!n. _0 <= n`); ([], `!m. m <= _0 <=> m = _0`); ([], `!n. BIT0 (BIT1 _0) * n = n + n`); ([], `!m n. m <= SUC n <=> m = SUC n \/ m <= n`); ([], `!m n. m * n = _0 <=> m = _0 \/ n = _0`); ([], `!n. ~(SUC n = _0)`); ([], `!m n p. m * n <= m * p <=> m = _0 \/ n <= p`); ([], `!m n. SUC m <= n <=> m < n`); ([], `!m n p. m * n < m * p <=> ~(m = _0) /\ n < p`); ([], `!m n. m <= n <=> m < n \/ m = n`); ([], `!m n. EVEN (m * n) <=> EVEN m \/ EVEN n`); ([], `!m n. EVEN (m + n) <=> EVEN m <=> EVEN n`); ([], `!m n. ~(m <= n /\ n < m)`); ([], `!m n. ~(m < n /\ n <= m)`); ([], `!m. m EXP _0 = BIT1 _0`); ([], `!m n. m EXP SUC n = m * m EXP n`); ([], `!m n p. m * n * p = (m * n) * p`); ([], `!m n. m EXP n = _0 <=> m = _0 /\ ~(n = _0)`); ([], `!p m n. m + p = n + p <=> m = n`); ([], `!e f. ?!fn. fn _0 = e /\ (!n. fn (SUC n) = f (fn n) n)`); ([], `!m n. ~(m <= n) <=> n < m`); ([], `!m n. m < n <=> (?d. n = m + SUC d)`); ([], `!m n. m + n = n + m`); ([], `!m. m + _0 = m`); ([], `!m n. SUC m <= SUC n <=> m <= n`); ([], `CARD {} = _0`); ([], `!x s. FINITE s ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD s))`); ([], `!n. n <= SUC n`); ([], `!n. n <= n`); ([], `!m n p. m <= n /\ n <= p ==> m <= p`); ([], `!m n. (m + n) - m = n`); ([], `!n. n - n = _0`); ([], `!m n. m + n = _0 <=> m = _0 /\ n = _0`); ([], `!m n. m <= m + n`); ([], `!m n. m + n = n <=> m = _0`); ([], `!n. SUC n - BIT1 _0 = n`); ([], `!m. ~(m < _0)`); ([], `!m. m = _0 \/ (?n. m = SUC n)`); ([], `!m n. SUC m < SUC n <=> m < n`); ([], `!n. n < SUC n`); ([], `!p x. p x ==> p ((@) p)`); ([], `!n. {m | m < SUC n} = _0 INSERT {SUC m | m < n}`); ([], `!m n. n <= m + n`); ([], `!n. ~(n < n)`); ([], `!m. m - _0 = m`); ([], `!n. _0 < SUC n`); ([], `!m n. ~(m < n) <=> n <= m`); ([], `!m n. n <= m ==> SUC m - SUC n = m - n`); ([], `!m. SUC m = m + BIT1 _0`); ([], `!m n p. m + n + p = (m + n) + p`); ([], `!m n p. m < n /\ n <= p ==> m < p`); ([], `!m n p. m + n <= m + p <=> n <= p`)], [None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; None; ...]) On 5 June 2015 at 19:14, Joe Leslie-Hurd wrote: > Hi Robert, > > Perhaps a more realistic case study would be to import a new theory > from the OpenTheory repo: > > http://opentheory.gilith.com/ > > For example, > > opentheory install natural-divides > opentheory info --article -o natural-divides.art natural-divides > > and then import this article file? > > Cheers, > > Joe > > On Fri, Jun 5, 2015 at 10:04 AM, Robert White > wrote: > > Hi Joe, > > > > At the moment I am only trying to load the old proofs. but if I don't > change > > the hol.ml file there will be conflict then. So seems the only solution > is > > that I completely comment out the rest of the files loaded in hol.ml if > so? > > > > No, I don't have new theories so far. > > Regards, > > Robert > > > > On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: > >> > >> Hi Robert, > >> > >> You are using it correctly. The intent of the import facility is to > >> extend the current logical context by bringing in a new theory, not to > >> change the current logical context. The error that you are redefining > >> the T constant is an indication that you are trying to change the > >> current logical context. > >> > >> What is your eventual goal using the OpenTheory importer in HOL Light? > >> I assume you have some new theories you want to import that are not > >> already in HOL Light. > >> > >> Cheers, > >> > >> Joe > >> > >> > >> On Fri, Jun 5, 2015 at 5:44 AM, Robert White > >> wrote: > >> > Dear Joe, > >> > > >> > I am wondering if I am using it correctly. I would like to load some > thm > >> > in > >> > and do some proof checking and proof optimisation. However, after > >> > loading > >> > the hol.ml and then do > >> > let all = import_article "../../laholide/opentheory/bool.art";; > >> > I get errors saying I am redefining constants. For instance, the > >> > bool.art > >> > file: > >> > > >> > # let all = import_article "../../laholide/opentheory/bool.art";; > >> > Exception: > >> > Failure > >> > "in article ../../laholide/opentheory/bool.art at line 89: > >> > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: > >> > constant T > >> > has already been declared". > >> > > >> > I could solve the problem by either not loading some of the files in > >> > HOL, so > >> > constants won't be redefined, or try to detect the problems that are > >> > defined > >> > but going to be redefined the same way. I would you solve the problem > >> > for > >> > the OpenTheory version of HOL. > >> > > >> > Thanks > >> > Regards, > >> > Robert > >> > > >> > > >> > On 5 June 2015 at 08:38, Robert White > >> > wrote: > >> >> > >> >> Thanks Joe! > >> >> > >> >> I will have to do some more test. I will let you know if I find any > >> >> bug. > >> >> > >> >> Regards, > >> >> Robert > >> >> > >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: > >> >>> > >> >>> Robert and I have updated the HOL Light importer to work with > version > >> >>> 6 articles, which is now available from > >> >>> > >> >>> http://src.gilith.com/hol-light.html > >> >>> > >> >>> It is very lightly tested at this point, so it may well be buggy. I > >> >>> was able to read in the standard theory library as a version 6 > >> >>> article, which I generated using the command > >> >>> > >> >>> opentheory info --article -o base.art base > >> >>> > >> >>> but I didn't even look closely at the results. > >> >>> > >> >>> Cheers, > >> >>> > >> >>> Joe > >> >>> > >> >>> > >> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White > >> >>> wrote: > >> >>> > Thanks for the reply. > >> >>> > > >> >>> > I would like to give it a try so I choose option 3 for now. I will > >> >>> > use > >> >>> > option 1 to continue my project alongside. > >> >>> > > >> >>> > Regards, > >> >>> > Robert > >> >>> > > >> >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: > >> >>> >> > >> >>> >> Hi Robert, > >> >>> >> > >> >>> >> Unfortunately I have not yet updated the import capability in my > >> >>> >> HOL > >> >>> >> Light fork to work with version 6 theories. You can either: > >> >>> >> > >> >>> >> 1. Use the command I showed you before to convert version 6 > >> >>> >> articles > >> >>> >> to version 5 before importing them. > >> >>> >> 2. Wait for me to implement this functionality. > >> >>> >> 3. Implement it yourself and send me a pull request. > >> >>> >> > >> >>> >> Please let me know what you decide: it may affect the wait time > in > >> >>> >> solution 2 :-) > >> >>> >> > >> >>> >> Cheers, > >> >>> >> > >> >>> >> Joe > >> >>> >> > >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White > >> >>> >> wrote: > >> >>> >> > Dear Joe, > >> >>> >> > > >> >>> >> > I noticed that I can't using import for the current version > >> >>> >> > (version > >> >>> >> > 6). > >> >>> >> > I > >> >>> >> > am using the one from: > >> >>> >> > > >> >>> >> > git clone http://src.gilith.com/hol-light > >> >>> >> > > >> >>> >> > > >> >>> >> > I wonder if you have implemented it/updated the import.ml > file, > >> >>> >> > so I > >> >>> >> > won't > >> >>> >> > have to redo your work. > >> >>> >> > > >> >>> >> > > >> >>> >> > Thanks > >> >>> >> > > >> >>> >> > Robert > >> >>> >> > > >> >>> >> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > -- > >> >>> > > >> >>> > Regards, > >> >>> > Robert White (Shuai Wang) > >> >>> > INRIA Deducteam > >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> > >> >> Regards, > >> >> Robert White (Shuai Wang) > >> >> INRIA Deducteam > >> >> [Moving to ILLC of UvA from this Sep. ] > >> >> [New email address will be shuai.wang at student.uva.nl] > >> >> > >> > > >> > > >> > > >> > -- > >> > > >> > Regards, > >> > Robert White (Shuai Wang) > >> > INRIA Deducteam > >> > [Moving to ILLC of UvA from this Sep. ] > >> > [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Fri Jun 5 20:33:42 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Fri, 5 Jun 2015 13:33:42 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: OK, that's not good. Let me take a look. Cheers, Joe On Fri, Jun 5, 2015 at 12:59 PM, Robert White wrote: > :( > > looks it is not working that way. > > # import_article "../laholide/opentheory/natural-divides.art";; > Exception: > Failure > "in article ../laholide/opentheory/natural-divides.art at line 159: > defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; > []]\nunknown constant \"Number.Natural.divides\"". > # > > > and when I load other files, say list.art. I get all the thm as None. OHHH > :( > > # import_article "../laholide/opentheory/list.art";; > val it : > (term list * term) list * (thm option * (term list * term)) option list = > ([([], `(!) = (\p. p = (\x. T))`); > ([], `(/\) = (\p q. (\f. f p q) = (\f. f T T))`); > ([], `!n. EVEN (SUC n) <=> ~EVEN n`); > ([], `!n. EVEN (BIT0 (BIT1 _0) * n)`); > ([], `!m n. SUC m = SUC n <=> m = n`); > ([], `!m n p. m * n = m * p <=> m = _0 \/ n = p`); > ([], `!m n. m <= n /\ n <= m <=> m = n`); ([], `BIT0 _0 = _0`); > ([], `!n. _0 + n = n`); ([], `!n. BIT0 (SUC n) = SUC (SUC (BIT0 n))`); > ([], `!m n. SUC m + n = SUC (m + n)`); > ([], `!m n. m + SUC n = SUC (m + n)`); > ([], `!p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n)`); > ([], `!n. BIT1 n = SUC (BIT0 n)`); ([], `!n. _0 <= n`); > ([], `!m. m <= _0 <=> m = _0`); ([], `!n. BIT0 (BIT1 _0) * n = n + n`); > ([], `!m n. m <= SUC n <=> m = SUC n \/ m <= n`); > ([], `!m n. m * n = _0 <=> m = _0 \/ n = _0`); ([], `!n. ~(SUC n = > _0)`); > ([], `!m n p. m * n <= m * p <=> m = _0 \/ n <= p`); > ([], `!m n. SUC m <= n <=> m < n`); > ([], `!m n p. m * n < m * p <=> ~(m = _0) /\ n < p`); > ([], `!m n. m <= n <=> m < n \/ m = n`); > ([], `!m n. EVEN (m * n) <=> EVEN m \/ EVEN n`); > ([], `!m n. EVEN (m + n) <=> EVEN m <=> EVEN n`); > ([], `!m n. ~(m <= n /\ n < m)`); ([], `!m n. ~(m < n /\ n <= m)`); > ([], `!m. m EXP _0 = BIT1 _0`); ([], `!m n. m EXP SUC n = m * m EXP n`); > ([], `!m n p. m * n * p = (m * n) * p`); > ([], `!m n. m EXP n = _0 <=> m = _0 /\ ~(n = _0)`); > ([], `!p m n. m + p = n + p <=> m = n`); > ([], `!e f. ?!fn. fn _0 = e /\ (!n. fn (SUC n) = f (fn n) n)`); > ([], `!m n. ~(m <= n) <=> n < m`); > ([], `!m n. m < n <=> (?d. n = m + SUC d)`); ([], `!m n. m + n = n + > m`); > ([], `!m. m + _0 = m`); ([], `!m n. SUC m <= SUC n <=> m <= n`); > ([], `CARD {} = _0`); > ([], > `!x s. > FINITE s > ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD > s))`); > ([], `!n. n <= SUC n`); ([], `!n. n <= n`); > ([], `!m n p. m <= n /\ n <= p ==> m <= p`); > ([], `!m n. (m + n) - m = n`); ([], `!n. n - n = _0`); > ([], `!m n. m + n = _0 <=> m = _0 /\ n = _0`); ([], `!m n. m <= m + n`); > ([], `!m n. m + n = n <=> m = _0`); ([], `!n. SUC n - BIT1 _0 = n`); > ([], `!m. ~(m < _0)`); ([], `!m. m = _0 \/ (?n. m = SUC n)`); > ([], `!m n. SUC m < SUC n <=> m < n`); ([], `!n. n < SUC n`); > ([], `!p x. p x ==> p ((@) p)`); > ([], `!n. {m | m < SUC n} = _0 INSERT {SUC m | m < n}`); > ([], `!m n. n <= m + n`); ([], `!n. ~(n < n)`); ([], `!m. m - _0 = m`); > ([], `!n. _0 < SUC n`); ([], `!m n. ~(m < n) <=> n <= m`); > ([], `!m n. n <= m ==> SUC m - SUC n = m - n`); > ([], `!m. SUC m = m + BIT1 _0`); ([], `!m n p. m + n + p = (m + n) + > p`); > ([], `!m n p. m < n /\ n <= p ==> m < p`); > ([], `!m n p. m + n <= m + p <=> n <= p`)], > [None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; None; None; None; None; None; None; None; None; None; > None; None; None; ...]) > > > > > On 5 June 2015 at 19:14, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> Perhaps a more realistic case study would be to import a new theory >> from the OpenTheory repo: >> >> http://opentheory.gilith.com/ >> >> For example, >> >> opentheory install natural-divides >> opentheory info --article -o natural-divides.art natural-divides >> >> and then import this article file? >> >> Cheers, >> >> Joe >> >> On Fri, Jun 5, 2015 at 10:04 AM, Robert White >> wrote: >> > Hi Joe, >> > >> > At the moment I am only trying to load the old proofs. but if I don't >> > change >> > the hol.ml file there will be conflict then. So seems the only solution >> > is >> > that I completely comment out the rest of the files loaded in hol.ml if >> > so? >> > >> > No, I don't have new theories so far. >> > Regards, >> > Robert >> > >> > On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: >> >> >> >> Hi Robert, >> >> >> >> You are using it correctly. The intent of the import facility is to >> >> extend the current logical context by bringing in a new theory, not to >> >> change the current logical context. The error that you are redefining >> >> the T constant is an indication that you are trying to change the >> >> current logical context. >> >> >> >> What is your eventual goal using the OpenTheory importer in HOL Light? >> >> I assume you have some new theories you want to import that are not >> >> already in HOL Light. >> >> >> >> Cheers, >> >> >> >> Joe >> >> >> >> >> >> On Fri, Jun 5, 2015 at 5:44 AM, Robert White >> >> wrote: >> >> > Dear Joe, >> >> > >> >> > I am wondering if I am using it correctly. I would like to load some >> >> > thm >> >> > in >> >> > and do some proof checking and proof optimisation. However, after >> >> > loading >> >> > the hol.ml and then do >> >> > let all = import_article "../../laholide/opentheory/bool.art";; >> >> > I get errors saying I am redefining constants. For instance, the >> >> > bool.art >> >> > file: >> >> > >> >> > # let all = import_article "../../laholide/opentheory/bool.art";; >> >> > Exception: >> >> > Failure >> >> > "in article ../../laholide/opentheory/bool.art at line 89: >> >> > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: >> >> > constant T >> >> > has already been declared". >> >> > >> >> > I could solve the problem by either not loading some of the files in >> >> > HOL, so >> >> > constants won't be redefined, or try to detect the problems that are >> >> > defined >> >> > but going to be redefined the same way. I would you solve the problem >> >> > for >> >> > the OpenTheory version of HOL. >> >> > >> >> > Thanks >> >> > Regards, >> >> > Robert >> >> > >> >> > >> >> > On 5 June 2015 at 08:38, Robert White >> >> > wrote: >> >> >> >> >> >> Thanks Joe! >> >> >> >> >> >> I will have to do some more test. I will let you know if I find any >> >> >> bug. >> >> >> >> >> >> Regards, >> >> >> Robert >> >> >> >> >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: >> >> >>> >> >> >>> Robert and I have updated the HOL Light importer to work with >> >> >>> version >> >> >>> 6 articles, which is now available from >> >> >>> >> >> >>> http://src.gilith.com/hol-light.html >> >> >>> >> >> >>> It is very lightly tested at this point, so it may well be buggy. I >> >> >>> was able to read in the standard theory library as a version 6 >> >> >>> article, which I generated using the command >> >> >>> >> >> >>> opentheory info --article -o base.art base >> >> >>> >> >> >>> but I didn't even look closely at the results. >> >> >>> >> >> >>> Cheers, >> >> >>> >> >> >>> Joe >> >> >>> >> >> >>> >> >> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White >> >> >>> wrote: >> >> >>> > Thanks for the reply. >> >> >>> > >> >> >>> > I would like to give it a try so I choose option 3 for now. I >> >> >>> > will >> >> >>> > use >> >> >>> > option 1 to continue my project alongside. >> >> >>> > >> >> >>> > Regards, >> >> >>> > Robert >> >> >>> > >> >> >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >> >> >>> >> >> >> >>> >> Hi Robert, >> >> >>> >> >> >> >>> >> Unfortunately I have not yet updated the import capability in my >> >> >>> >> HOL >> >> >>> >> Light fork to work with version 6 theories. You can either: >> >> >>> >> >> >> >>> >> 1. Use the command I showed you before to convert version 6 >> >> >>> >> articles >> >> >>> >> to version 5 before importing them. >> >> >>> >> 2. Wait for me to implement this functionality. >> >> >>> >> 3. Implement it yourself and send me a pull request. >> >> >>> >> >> >> >>> >> Please let me know what you decide: it may affect the wait time >> >> >>> >> in >> >> >>> >> solution 2 :-) >> >> >>> >> >> >> >>> >> Cheers, >> >> >>> >> >> >> >>> >> Joe >> >> >>> >> >> >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >> >> >>> >> wrote: >> >> >>> >> > Dear Joe, >> >> >>> >> > >> >> >>> >> > I noticed that I can't using import for the current version >> >> >>> >> > (version >> >> >>> >> > 6). >> >> >>> >> > I >> >> >>> >> > am using the one from: >> >> >>> >> > >> >> >>> >> > git clone http://src.gilith.com/hol-light >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > I wonder if you have implemented it/updated the import.ml >> >> >>> >> > file, >> >> >>> >> > so I >> >> >>> >> > won't >> >> >>> >> > have to redo your work. >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > Thanks >> >> >>> >> > >> >> >>> >> > Robert >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > -- >> >> >>> > >> >> >>> > Regards, >> >> >>> > Robert White (Shuai Wang) >> >> >>> > INRIA Deducteam >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> Regards, >> >> >> Robert White (Shuai Wang) >> >> >> INRIA Deducteam >> >> >> [Moving to ILLC of UvA from this Sep. ] >> >> >> [New email address will be shuai.wang at student.uva.nl] >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > >> >> > Regards, >> >> > Robert White (Shuai Wang) >> >> > INRIA Deducteam >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> > >> > >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From joe at gilith.com Sun Jun 7 06:56:56 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Sat, 6 Jun 2015 23:56:56 -0700 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Hi Robert, It turned out the import code didn't work very well, but I have fixed it up and it seems to be doing the right thing. For each theory you import, you have to first extend_the_interpretation so the importer can give a HOL Light name to the OpenTheory symbols in the article. Also, a nice feature is that imports build on each other, so you can import a sequence of theories where assumptions in later theories are satisfied by theorems in earlier theories. Below is an example showing how to import theories - each article file was generated by a command of the form: opentheory info --article -o natural-prime.art natural-prime This new import code is all checked in to my HOL Light fork available at http://src.gilith.com/hol-light.html Cheers, Joe (* ------------------------------------------------------------------------- *) (* Importing a theory. *) (* ------------------------------------------------------------------------- *) extend_the_interpretation "opentheory/theories/natural-divides/natural-divides.int";; import_article "natural-divides.art";; extend_the_interpretation "opentheory/theories/stream/stream.int";; import_article "stream.art";; extend_the_interpretation "opentheory/theories/natural-prime/natural-prime.int";; import_article "natural-prime.art";; On Fri, Jun 5, 2015 at 1:33 PM, Joe Leslie-Hurd wrote: > OK, that's not good. Let me take a look. > > Cheers, > > Joe > > On Fri, Jun 5, 2015 at 12:59 PM, Robert White > wrote: >> :( >> >> looks it is not working that way. >> >> # import_article "../laholide/opentheory/natural-divides.art";; >> Exception: >> Failure >> "in article ../laholide/opentheory/natural-divides.art at line 159: >> defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; >> []]\nunknown constant \"Number.Natural.divides\"". >> # >> >> >> and when I load other files, say list.art. I get all the thm as None. OHHH >> :( >> >> # import_article "../laholide/opentheory/list.art";; >> val it : >> (term list * term) list * (thm option * (term list * term)) option list = >> ([([], `(!) = (\p. p = (\x. T))`); >> ([], `(/\) = (\p q. (\f. f p q) = (\f. f T T))`); >> ([], `!n. EVEN (SUC n) <=> ~EVEN n`); >> ([], `!n. EVEN (BIT0 (BIT1 _0) * n)`); >> ([], `!m n. SUC m = SUC n <=> m = n`); >> ([], `!m n p. m * n = m * p <=> m = _0 \/ n = p`); >> ([], `!m n. m <= n /\ n <= m <=> m = n`); ([], `BIT0 _0 = _0`); >> ([], `!n. _0 + n = n`); ([], `!n. BIT0 (SUC n) = SUC (SUC (BIT0 n))`); >> ([], `!m n. SUC m + n = SUC (m + n)`); >> ([], `!m n. m + SUC n = SUC (m + n)`); >> ([], `!p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n)`); >> ([], `!n. BIT1 n = SUC (BIT0 n)`); ([], `!n. _0 <= n`); >> ([], `!m. m <= _0 <=> m = _0`); ([], `!n. BIT0 (BIT1 _0) * n = n + n`); >> ([], `!m n. m <= SUC n <=> m = SUC n \/ m <= n`); >> ([], `!m n. m * n = _0 <=> m = _0 \/ n = _0`); ([], `!n. ~(SUC n = >> _0)`); >> ([], `!m n p. m * n <= m * p <=> m = _0 \/ n <= p`); >> ([], `!m n. SUC m <= n <=> m < n`); >> ([], `!m n p. m * n < m * p <=> ~(m = _0) /\ n < p`); >> ([], `!m n. m <= n <=> m < n \/ m = n`); >> ([], `!m n. EVEN (m * n) <=> EVEN m \/ EVEN n`); >> ([], `!m n. EVEN (m + n) <=> EVEN m <=> EVEN n`); >> ([], `!m n. ~(m <= n /\ n < m)`); ([], `!m n. ~(m < n /\ n <= m)`); >> ([], `!m. m EXP _0 = BIT1 _0`); ([], `!m n. m EXP SUC n = m * m EXP n`); >> ([], `!m n p. m * n * p = (m * n) * p`); >> ([], `!m n. m EXP n = _0 <=> m = _0 /\ ~(n = _0)`); >> ([], `!p m n. m + p = n + p <=> m = n`); >> ([], `!e f. ?!fn. fn _0 = e /\ (!n. fn (SUC n) = f (fn n) n)`); >> ([], `!m n. ~(m <= n) <=> n < m`); >> ([], `!m n. m < n <=> (?d. n = m + SUC d)`); ([], `!m n. m + n = n + >> m`); >> ([], `!m. m + _0 = m`); ([], `!m n. SUC m <= SUC n <=> m <= n`); >> ([], `CARD {} = _0`); >> ([], >> `!x s. >> FINITE s >> ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD >> s))`); >> ([], `!n. n <= SUC n`); ([], `!n. n <= n`); >> ([], `!m n p. m <= n /\ n <= p ==> m <= p`); >> ([], `!m n. (m + n) - m = n`); ([], `!n. n - n = _0`); >> ([], `!m n. m + n = _0 <=> m = _0 /\ n = _0`); ([], `!m n. m <= m + n`); >> ([], `!m n. m + n = n <=> m = _0`); ([], `!n. SUC n - BIT1 _0 = n`); >> ([], `!m. ~(m < _0)`); ([], `!m. m = _0 \/ (?n. m = SUC n)`); >> ([], `!m n. SUC m < SUC n <=> m < n`); ([], `!n. n < SUC n`); >> ([], `!p x. p x ==> p ((@) p)`); >> ([], `!n. {m | m < SUC n} = _0 INSERT {SUC m | m < n}`); >> ([], `!m n. n <= m + n`); ([], `!n. ~(n < n)`); ([], `!m. m - _0 = m`); >> ([], `!n. _0 < SUC n`); ([], `!m n. ~(m < n) <=> n <= m`); >> ([], `!m n. n <= m ==> SUC m - SUC n = m - n`); >> ([], `!m. SUC m = m + BIT1 _0`); ([], `!m n p. m + n + p = (m + n) + >> p`); >> ([], `!m n p. m < n /\ n <= p ==> m < p`); >> ([], `!m n p. m + n <= m + p <=> n <= p`)], >> [None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; None; None; None; None; None; None; None; None; None; >> None; None; None; ...]) >> >> >> >> >> On 5 June 2015 at 19:14, Joe Leslie-Hurd wrote: >>> >>> Hi Robert, >>> >>> Perhaps a more realistic case study would be to import a new theory >>> from the OpenTheory repo: >>> >>> http://opentheory.gilith.com/ >>> >>> For example, >>> >>> opentheory install natural-divides >>> opentheory info --article -o natural-divides.art natural-divides >>> >>> and then import this article file? >>> >>> Cheers, >>> >>> Joe >>> >>> On Fri, Jun 5, 2015 at 10:04 AM, Robert White >>> wrote: >>> > Hi Joe, >>> > >>> > At the moment I am only trying to load the old proofs. but if I don't >>> > change >>> > the hol.ml file there will be conflict then. So seems the only solution >>> > is >>> > that I completely comment out the rest of the files loaded in hol.ml if >>> > so? >>> > >>> > No, I don't have new theories so far. >>> > Regards, >>> > Robert >>> > >>> > On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: >>> >> >>> >> Hi Robert, >>> >> >>> >> You are using it correctly. The intent of the import facility is to >>> >> extend the current logical context by bringing in a new theory, not to >>> >> change the current logical context. The error that you are redefining >>> >> the T constant is an indication that you are trying to change the >>> >> current logical context. >>> >> >>> >> What is your eventual goal using the OpenTheory importer in HOL Light? >>> >> I assume you have some new theories you want to import that are not >>> >> already in HOL Light. >>> >> >>> >> Cheers, >>> >> >>> >> Joe >>> >> >>> >> >>> >> On Fri, Jun 5, 2015 at 5:44 AM, Robert White >>> >> wrote: >>> >> > Dear Joe, >>> >> > >>> >> > I am wondering if I am using it correctly. I would like to load some >>> >> > thm >>> >> > in >>> >> > and do some proof checking and proof optimisation. However, after >>> >> > loading >>> >> > the hol.ml and then do >>> >> > let all = import_article "../../laholide/opentheory/bool.art";; >>> >> > I get errors saying I am redefining constants. For instance, the >>> >> > bool.art >>> >> > file: >>> >> > >>> >> > # let all = import_article "../../laholide/opentheory/bool.art";; >>> >> > Exception: >>> >> > Failure >>> >> > "in article ../../laholide/opentheory/bool.art at line 89: >>> >> > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: >>> >> > constant T >>> >> > has already been declared". >>> >> > >>> >> > I could solve the problem by either not loading some of the files in >>> >> > HOL, so >>> >> > constants won't be redefined, or try to detect the problems that are >>> >> > defined >>> >> > but going to be redefined the same way. I would you solve the problem >>> >> > for >>> >> > the OpenTheory version of HOL. >>> >> > >>> >> > Thanks >>> >> > Regards, >>> >> > Robert >>> >> > >>> >> > >>> >> > On 5 June 2015 at 08:38, Robert White >>> >> > wrote: >>> >> >> >>> >> >> Thanks Joe! >>> >> >> >>> >> >> I will have to do some more test. I will let you know if I find any >>> >> >> bug. >>> >> >> >>> >> >> Regards, >>> >> >> Robert >>> >> >> >>> >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: >>> >> >>> >>> >> >>> Robert and I have updated the HOL Light importer to work with >>> >> >>> version >>> >> >>> 6 articles, which is now available from >>> >> >>> >>> >> >>> http://src.gilith.com/hol-light.html >>> >> >>> >>> >> >>> It is very lightly tested at this point, so it may well be buggy. I >>> >> >>> was able to read in the standard theory library as a version 6 >>> >> >>> article, which I generated using the command >>> >> >>> >>> >> >>> opentheory info --article -o base.art base >>> >> >>> >>> >> >>> but I didn't even look closely at the results. >>> >> >>> >>> >> >>> Cheers, >>> >> >>> >>> >> >>> Joe >>> >> >>> >>> >> >>> >>> >> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White >>> >> >>> wrote: >>> >> >>> > Thanks for the reply. >>> >> >>> > >>> >> >>> > I would like to give it a try so I choose option 3 for now. I >>> >> >>> > will >>> >> >>> > use >>> >> >>> > option 1 to continue my project alongside. >>> >> >>> > >>> >> >>> > Regards, >>> >> >>> > Robert >>> >> >>> > >>> >> >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd wrote: >>> >> >>> >> >>> >> >>> >> Hi Robert, >>> >> >>> >> >>> >> >>> >> Unfortunately I have not yet updated the import capability in my >>> >> >>> >> HOL >>> >> >>> >> Light fork to work with version 6 theories. You can either: >>> >> >>> >> >>> >> >>> >> 1. Use the command I showed you before to convert version 6 >>> >> >>> >> articles >>> >> >>> >> to version 5 before importing them. >>> >> >>> >> 2. Wait for me to implement this functionality. >>> >> >>> >> 3. Implement it yourself and send me a pull request. >>> >> >>> >> >>> >> >>> >> Please let me know what you decide: it may affect the wait time >>> >> >>> >> in >>> >> >>> >> solution 2 :-) >>> >> >>> >> >>> >> >>> >> Cheers, >>> >> >>> >> >>> >> >>> >> Joe >>> >> >>> >> >>> >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White >>> >> >>> >> wrote: >>> >> >>> >> > Dear Joe, >>> >> >>> >> > >>> >> >>> >> > I noticed that I can't using import for the current version >>> >> >>> >> > (version >>> >> >>> >> > 6). >>> >> >>> >> > I >>> >> >>> >> > am using the one from: >>> >> >>> >> > >>> >> >>> >> > git clone http://src.gilith.com/hol-light >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > I wonder if you have implemented it/updated the import.ml >>> >> >>> >> > file, >>> >> >>> >> > so I >>> >> >>> >> > won't >>> >> >>> >> > have to redo your work. >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> >> > Thanks >>> >> >>> >> > >>> >> >>> >> > Robert >>> >> >>> >> > >>> >> >>> >> > >>> >> >>> > >>> >> >>> > >>> >> >>> > >>> >> >>> > >>> >> >>> > -- >>> >> >>> > >>> >> >>> > Regards, >>> >> >>> > Robert White (Shuai Wang) >>> >> >>> > INRIA Deducteam >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> >>> >> >> Regards, >>> >> >> Robert White (Shuai Wang) >>> >> >> INRIA Deducteam >>> >> >> [Moving to ILLC of UvA from this Sep. ] >>> >> >> [New email address will be shuai.wang at student.uva.nl] >>> >> >> >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > >>> >> > Regards, >>> >> > Robert White (Shuai Wang) >>> >> > INRIA Deducteam >>> >> > [Moving to ILLC of UvA from this Sep. ] >>> >> > [New email address will be shuai.wang at student.uva.nl] >>> >> > >>> > >>> > >>> > >>> > >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >>> > [Moving to ILLC of UvA from this Sep. ] >>> > [New email address will be shuai.wang at student.uva.nl] >>> > >> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep. ] >> [New email address will be shuai.wang at student.uva.nl] >> From ai.robert.wangshuai at gmail.com Sun Jun 7 10:56:15 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Sun, 7 Jun 2015 12:56:15 +0200 Subject: [opentheory-users] Importing proofs of version 6 In-Reply-To: References: Message-ID: Ok, I will try now. Thanks a lot. Regards, Robert On 7 June 2015 at 08:56, Joe Leslie-Hurd wrote: > Hi Robert, > > It turned out the import code didn't work very well, but I have fixed > it up and it seems to be doing the right thing. For each theory you > import, you have to first extend_the_interpretation so the importer > can give a HOL Light name to the OpenTheory symbols in the article. > > Also, a nice feature is that imports build on each other, so you can > import a sequence of theories where assumptions in later theories are > satisfied by theorems in earlier theories. > > Below is an example showing how to import theories - each article file > was generated by a command of the form: > > opentheory info --article -o natural-prime.art natural-prime > > This new import code is all checked in to my HOL Light fork available at > > http://src.gilith.com/hol-light.html > > Cheers, > > Joe > > > (* > ------------------------------------------------------------------------- *) > (* Importing a theory. > *) > (* > ------------------------------------------------------------------------- *) > > extend_the_interpretation > "opentheory/theories/natural-divides/natural-divides.int";; > import_article "natural-divides.art";; > > extend_the_interpretation > "opentheory/theories/stream/stream.int";; > import_article "stream.art";; > > extend_the_interpretation > "opentheory/theories/natural-prime/natural-prime.int";; > import_article "natural-prime.art";; > > On Fri, Jun 5, 2015 at 1:33 PM, Joe Leslie-Hurd wrote: > > OK, that's not good. Let me take a look. > > > > Cheers, > > > > Joe > > > > On Fri, Jun 5, 2015 at 12:59 PM, Robert White > > wrote: > >> :( > >> > >> looks it is not working that way. > >> > >> # import_article "../laholide/opentheory/natural-divides.art";; > >> Exception: > >> Failure > >> "in article ../laholide/opentheory/natural-divides.art at line 159: > >> defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; > >> []]\nunknown constant \"Number.Natural.divides\"". > >> # > >> > >> > >> and when I load other files, say list.art. I get all the thm as None. > OHHH > >> :( > >> > >> # import_article "../laholide/opentheory/list.art";; > >> val it : > >> (term list * term) list * (thm option * (term list * term)) option > list = > >> ([([], `(!) = (\p. p = (\x. T))`); > >> ([], `(/\) = (\p q. (\f. f p q) = (\f. f T T))`); > >> ([], `!n. EVEN (SUC n) <=> ~EVEN n`); > >> ([], `!n. EVEN (BIT0 (BIT1 _0) * n)`); > >> ([], `!m n. SUC m = SUC n <=> m = n`); > >> ([], `!m n p. m * n = m * p <=> m = _0 \/ n = p`); > >> ([], `!m n. m <= n /\ n <= m <=> m = n`); ([], `BIT0 _0 = _0`); > >> ([], `!n. _0 + n = n`); ([], `!n. BIT0 (SUC n) = SUC (SUC (BIT0 > n))`); > >> ([], `!m n. SUC m + n = SUC (m + n)`); > >> ([], `!m n. m + SUC n = SUC (m + n)`); > >> ([], `!p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n)`); > >> ([], `!n. BIT1 n = SUC (BIT0 n)`); ([], `!n. _0 <= n`); > >> ([], `!m. m <= _0 <=> m = _0`); ([], `!n. BIT0 (BIT1 _0) * n = n + > n`); > >> ([], `!m n. m <= SUC n <=> m = SUC n \/ m <= n`); > >> ([], `!m n. m * n = _0 <=> m = _0 \/ n = _0`); ([], `!n. ~(SUC n = > >> _0)`); > >> ([], `!m n p. m * n <= m * p <=> m = _0 \/ n <= p`); > >> ([], `!m n. SUC m <= n <=> m < n`); > >> ([], `!m n p. m * n < m * p <=> ~(m = _0) /\ n < p`); > >> ([], `!m n. m <= n <=> m < n \/ m = n`); > >> ([], `!m n. EVEN (m * n) <=> EVEN m \/ EVEN n`); > >> ([], `!m n. EVEN (m + n) <=> EVEN m <=> EVEN n`); > >> ([], `!m n. ~(m <= n /\ n < m)`); ([], `!m n. ~(m < n /\ n <= m)`); > >> ([], `!m. m EXP _0 = BIT1 _0`); ([], `!m n. m EXP SUC n = m * m EXP > n`); > >> ([], `!m n p. m * n * p = (m * n) * p`); > >> ([], `!m n. m EXP n = _0 <=> m = _0 /\ ~(n = _0)`); > >> ([], `!p m n. m + p = n + p <=> m = n`); > >> ([], `!e f. ?!fn. fn _0 = e /\ (!n. fn (SUC n) = f (fn n) n)`); > >> ([], `!m n. ~(m <= n) <=> n < m`); > >> ([], `!m n. m < n <=> (?d. n = m + SUC d)`); ([], `!m n. m + n = n + > >> m`); > >> ([], `!m. m + _0 = m`); ([], `!m n. SUC m <= SUC n <=> m <= n`); > >> ([], `CARD {} = _0`); > >> ([], > >> `!x s. > >> FINITE s > >> ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD > >> s))`); > >> ([], `!n. n <= SUC n`); ([], `!n. n <= n`); > >> ([], `!m n p. m <= n /\ n <= p ==> m <= p`); > >> ([], `!m n. (m + n) - m = n`); ([], `!n. n - n = _0`); > >> ([], `!m n. m + n = _0 <=> m = _0 /\ n = _0`); ([], `!m n. m <= m + > n`); > >> ([], `!m n. m + n = n <=> m = _0`); ([], `!n. SUC n - BIT1 _0 = n`); > >> ([], `!m. ~(m < _0)`); ([], `!m. m = _0 \/ (?n. m = SUC n)`); > >> ([], `!m n. SUC m < SUC n <=> m < n`); ([], `!n. n < SUC n`); > >> ([], `!p x. p x ==> p ((@) p)`); > >> ([], `!n. {m | m < SUC n} = _0 INSERT {SUC m | m < n}`); > >> ([], `!m n. n <= m + n`); ([], `!n. ~(n < n)`); ([], `!m. m - _0 = > m`); > >> ([], `!n. _0 < SUC n`); ([], `!m n. ~(m < n) <=> n <= m`); > >> ([], `!m n. n <= m ==> SUC m - SUC n = m - n`); > >> ([], `!m. SUC m = m + BIT1 _0`); ([], `!m n p. m + n + p = (m + n) + > >> p`); > >> ([], `!m n p. m < n /\ n <= p ==> m < p`); > >> ([], `!m n p. m + n <= m + p <=> n <= p`)], > >> [None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; None; None; None; None; None; None; None; None; > None; > >> None; None; None; ...]) > >> > >> > >> > >> > >> On 5 June 2015 at 19:14, Joe Leslie-Hurd wrote: > >>> > >>> Hi Robert, > >>> > >>> Perhaps a more realistic case study would be to import a new theory > >>> from the OpenTheory repo: > >>> > >>> http://opentheory.gilith.com/ > >>> > >>> For example, > >>> > >>> opentheory install natural-divides > >>> opentheory info --article -o natural-divides.art natural-divides > >>> > >>> and then import this article file? > >>> > >>> Cheers, > >>> > >>> Joe > >>> > >>> On Fri, Jun 5, 2015 at 10:04 AM, Robert White > >>> wrote: > >>> > Hi Joe, > >>> > > >>> > At the moment I am only trying to load the old proofs. but if I don't > >>> > change > >>> > the hol.ml file there will be conflict then. So seems the only > solution > >>> > is > >>> > that I completely comment out the rest of the files loaded in hol.ml > if > >>> > so? > >>> > > >>> > No, I don't have new theories so far. > >>> > Regards, > >>> > Robert > >>> > > >>> > On 5 June 2015 at 19:00, Joe Leslie-Hurd wrote: > >>> >> > >>> >> Hi Robert, > >>> >> > >>> >> You are using it correctly. The intent of the import facility is to > >>> >> extend the current logical context by bringing in a new theory, not > to > >>> >> change the current logical context. The error that you are > redefining > >>> >> the T constant is an indication that you are trying to change the > >>> >> current logical context. > >>> >> > >>> >> What is your eventual goal using the OpenTheory importer in HOL > Light? > >>> >> I assume you have some new theories you want to import that are not > >>> >> already in HOL Light. > >>> >> > >>> >> Cheers, > >>> >> > >>> >> Joe > >>> >> > >>> >> > >>> >> On Fri, Jun 5, 2015 at 5:44 AM, Robert White > >>> >> wrote: > >>> >> > Dear Joe, > >>> >> > > >>> >> > I am wondering if I am using it correctly. I would like to load > some > >>> >> > thm > >>> >> > in > >>> >> > and do some proof checking and proof optimisation. However, after > >>> >> > loading > >>> >> > the hol.ml and then do > >>> >> > let all = import_article "../../laholide/opentheory/bool.art";; > >>> >> > I get errors saying I am redefining constants. For instance, the > >>> >> > bool.art > >>> >> > file: > >>> >> > > >>> >> > # let all = import_article "../../laholide/opentheory/bool.art";; > >>> >> > Exception: > >>> >> > Failure > >>> >> > "in article ../../laholide/opentheory/bool.art at line 89: > >>> >> > defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: > >>> >> > constant T > >>> >> > has already been declared". > >>> >> > > >>> >> > I could solve the problem by either not loading some of the files > in > >>> >> > HOL, so > >>> >> > constants won't be redefined, or try to detect the problems that > are > >>> >> > defined > >>> >> > but going to be redefined the same way. I would you solve the > problem > >>> >> > for > >>> >> > the OpenTheory version of HOL. > >>> >> > > >>> >> > Thanks > >>> >> > Regards, > >>> >> > Robert > >>> >> > > >>> >> > > >>> >> > On 5 June 2015 at 08:38, Robert White < > ai.robert.wangshuai at gmail.com> > >>> >> > wrote: > >>> >> >> > >>> >> >> Thanks Joe! > >>> >> >> > >>> >> >> I will have to do some more test. I will let you know if I find > any > >>> >> >> bug. > >>> >> >> > >>> >> >> Regards, > >>> >> >> Robert > >>> >> >> > >>> >> >> On 5 June 2015 at 04:55, Joe Leslie-Hurd wrote: > >>> >> >>> > >>> >> >>> Robert and I have updated the HOL Light importer to work with > >>> >> >>> version > >>> >> >>> 6 articles, which is now available from > >>> >> >>> > >>> >> >>> http://src.gilith.com/hol-light.html > >>> >> >>> > >>> >> >>> It is very lightly tested at this point, so it may well be > buggy. I > >>> >> >>> was able to read in the standard theory library as a version 6 > >>> >> >>> article, which I generated using the command > >>> >> >>> > >>> >> >>> opentheory info --article -o base.art base > >>> >> >>> > >>> >> >>> but I didn't even look closely at the results. > >>> >> >>> > >>> >> >>> Cheers, > >>> >> >>> > >>> >> >>> Joe > >>> >> >>> > >>> >> >>> > >>> >> >>> On Wed, Jun 3, 2015 at 2:12 PM, Robert White > >>> >> >>> wrote: > >>> >> >>> > Thanks for the reply. > >>> >> >>> > > >>> >> >>> > I would like to give it a try so I choose option 3 for now. I > >>> >> >>> > will > >>> >> >>> > use > >>> >> >>> > option 1 to continue my project alongside. > >>> >> >>> > > >>> >> >>> > Regards, > >>> >> >>> > Robert > >>> >> >>> > > >>> >> >>> > On 3 June 2015 at 22:46, Joe Leslie-Hurd > wrote: > >>> >> >>> >> > >>> >> >>> >> Hi Robert, > >>> >> >>> >> > >>> >> >>> >> Unfortunately I have not yet updated the import capability > in my > >>> >> >>> >> HOL > >>> >> >>> >> Light fork to work with version 6 theories. You can either: > >>> >> >>> >> > >>> >> >>> >> 1. Use the command I showed you before to convert version 6 > >>> >> >>> >> articles > >>> >> >>> >> to version 5 before importing them. > >>> >> >>> >> 2. Wait for me to implement this functionality. > >>> >> >>> >> 3. Implement it yourself and send me a pull request. > >>> >> >>> >> > >>> >> >>> >> Please let me know what you decide: it may affect the wait > time > >>> >> >>> >> in > >>> >> >>> >> solution 2 :-) > >>> >> >>> >> > >>> >> >>> >> Cheers, > >>> >> >>> >> > >>> >> >>> >> Joe > >>> >> >>> >> > >>> >> >>> >> On Wed, Jun 3, 2015 at 7:58 AM, Robert White > >>> >> >>> >> wrote: > >>> >> >>> >> > Dear Joe, > >>> >> >>> >> > > >>> >> >>> >> > I noticed that I can't using import for the current version > >>> >> >>> >> > (version > >>> >> >>> >> > 6). > >>> >> >>> >> > I > >>> >> >>> >> > am using the one from: > >>> >> >>> >> > > >>> >> >>> >> > git clone http://src.gilith.com/hol-light > >>> >> >>> >> > > >>> >> >>> >> > > >>> >> >>> >> > I wonder if you have implemented it/updated the import.ml > >>> >> >>> >> > file, > >>> >> >>> >> > so I > >>> >> >>> >> > won't > >>> >> >>> >> > have to redo your work. > >>> >> >>> >> > > >>> >> >>> >> > > >>> >> >>> >> > Thanks > >>> >> >>> >> > > >>> >> >>> >> > Robert > >>> >> >>> >> > > >>> >> >>> >> > > >>> >> >>> > > >>> >> >>> > > >>> >> >>> > > >>> >> >>> > > >>> >> >>> > -- > >>> >> >>> > > >>> >> >>> > Regards, > >>> >> >>> > Robert White (Shuai Wang) > >>> >> >>> > INRIA Deducteam > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> -- > >>> >> >> > >>> >> >> Regards, > >>> >> >> Robert White (Shuai Wang) > >>> >> >> INRIA Deducteam > >>> >> >> [Moving to ILLC of UvA from this Sep. ] > >>> >> >> [New email address will be shuai.wang at student.uva.nl] > >>> >> >> > >>> >> > > >>> >> > > >>> >> > > >>> >> > -- > >>> >> > > >>> >> > Regards, > >>> >> > Robert White (Shuai Wang) > >>> >> > INRIA Deducteam > >>> >> > [Moving to ILLC of UvA from this Sep. ] > >>> >> > [New email address will be shuai.wang at student.uva.nl] > >>> >> > > >>> > > >>> > > >>> > > >>> > > >>> > -- > >>> > > >>> > Regards, > >>> > Robert White (Shuai Wang) > >>> > INRIA Deducteam > >>> > [Moving to ILLC of UvA from this Sep. ] > >>> > [New email address will be shuai.wang at student.uva.nl] > >>> > > >> > >> > >> > >> > >> -- > >> > >> Regards, > >> Robert White (Shuai Wang) > >> INRIA Deducteam > >> [Moving to ILLC of UvA from this Sep. ] > >> [New email address will be shuai.wang at student.uva.nl] > >> > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 09:44:09 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 11:44:09 +0200 Subject: [opentheory-users] Question about Lazy-list Message-ID: Dear Joe and Ramana, I used the new Holide and dedukti for proof checking of the whole Opentheory repos. There is one good news and one bad news. The good news is: I have checked through the whole library of the rest apart from lazy-list without problems. They all passed the checking. The bad news is: lazy-list didn't pass the check. --------this is the error line by Dedukti -------------------------------- Processing file 'dedukti/lazy-list.dk'... ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. I searched online and found there isn't sub-packages for me to check individually. I wonder if this one is just as a big whole file or maybe I can somehow unpack it to different files and check through each individually. Thanks! -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 11:34:05 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 13:34:05 +0200 Subject: [opentheory-users] Error in importing Message-ID: Dear Joe, Hello. I have the following errors: # extend_the_interpretation "opentheory/theories/list/list.int";; val it : unit = () # let all= import_article "opentheory/articles/list.art";; Exception: Failure "in article opentheory/articles/list.art at line 467: defineConst\nstack = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; Thm]\nnew_constant: constant NUMSUM has already been declared". # let all= import_article "opentheory/articles/sum.art";; Exception: Failure "in article opentheory/articles/sum.art at line 499: defineConst\nstack = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; \"_15483\"; Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; \"HOLLight._dest_sum\"; \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant NUMSUM has already been declared". # extend_the_interpretation "opentheory/theories/bool/bool.int";; Exception: Sys_error "opentheory/theories/bool/bool.int: No such file or directory". # extend_the_interpretation "opentheory/theories/bool/bool.int";; Exception: Sys_error "opentheory/theories/bool/bool.int: No such file or directory". # let all= import_article "opentheory/articles/bool.art";; Exception: Failure "in article opentheory/articles/bool.art at line 89: defineConst\nstack = [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already been declared". # let all= import_article "opentheory/articles/real.art";; Exception: Failure "in article opentheory/articles/real.art at line 283: defineConst\nstack = [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; Term]]]; []; \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; \"HOLLight.mk_hreal\"; \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; Const]\nnew_constant: constant is_nadd has already been declared". # let all= import_article "opentheory/articles/option.art";; Exception: Failure "in article opentheory/articles/option.art at line 478: defineConst\nstack = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; \"_15483\"; Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; \"HOLLight._dest_option\"; \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; \"is_none\"; \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM has already been declared". So far I have only the three ones you showed in previous email working. : "natural-divides.art", "stream.art" and "natural-prime.art" I wonder how I should load the rest. Thanks a lot. -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 15:27:39 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 08:27:39 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, The theories that are causing you errors are part of the standard theory library: $ opentheory list 'Includes base' bool-1.36 function-1.55 list-1.103 natural-1.104 option-1.72 pair-1.27 real-1.61 relation-1.60 set-1.71 sum-1.61 unit-1.20 Since HOL Light already implements the standard theory library, trying to reload it will generate errors about defining symbols, as you have experienced. My advice is to focus on theories that are not part of the standard theory library, the easiest to obtain being those on the OpenTheory repo: http://opentheory.gilith.com/packages/ Cheers, Joe On Mon, Jun 8, 2015 at 4:34 AM, Robert White wrote: > Dear Joe, > > Hello. I have the following errors: > > # extend_the_interpretation "opentheory/theories/list/list.int";; > val it : unit = () > # let all= import_article "opentheory/articles/list.art";; > Exception: > Failure > "in article opentheory/articles/list.art at line 467: defineConst\nstack = > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; Thm]\nnew_constant: > constant NUMSUM has already been declared". > > # let all= import_article "opentheory/articles/sum.art";; > Exception: > Failure > "in article opentheory/articles/sum.art at line 499: defineConst\nstack = > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; \"_15483\"; > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; \"HOLLight._dest_sum\"; > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant NUMSUM > has already been declared". > > > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > Exception: > Sys_error "opentheory/theories/bool/bool.int: No such file or directory". > > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > Exception: > Sys_error "opentheory/theories/bool/bool.int: No such file or directory". > # let all= import_article "opentheory/articles/bool.art";; > Exception: > Failure > "in article opentheory/articles/bool.art at line 89: defineConst\nstack = > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already been > declared". > > > > # let all= import_article "opentheory/articles/real.art";; > Exception: > Failure > "in article opentheory/articles/real.art at line 283: defineConst\nstack = > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; Term]]]; []; > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; \"HOLLight.mk_hreal\"; > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > Const]\nnew_constant: constant is_nadd has already been declared". > > > # let all= import_article "opentheory/articles/option.art";; > Exception: > Failure > "in article opentheory/articles/option.art at line 478: defineConst\nstack > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; \"_15483\"; > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; \"HOLLight._dest_option\"; > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; \"is_none\"; > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM has > already been declared". > > > > So far I have only the three ones you showed in previous email working. : > "natural-divides.art", "stream.art" and "natural-prime.art" > > I wonder how I should load the rest. > > Thanks a lot. > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From joe at gilith.com Mon Jun 8 15:31:39 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 08:31:39 -0700 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Hi Robert, In terms of the OpenTheory package, you are correct that lazy-list is monolithic: $ opentheory info --theory-source lazy-list main { article: "llist.art" } However, Ramana may be able to dig up source files for the article that could be restructured into subpackages. Cheers, Joe On Mon, Jun 8, 2015 at 2:44 AM, Robert White wrote: > Dear Joe and Ramana, > > I used the new Holide and dedukti for proof checking of the whole Opentheory > repos. There is one good news and one bad news. > > The good news is: > > I have checked through the whole library of the rest apart from lazy-list > without problems. They all passed the checking. > > The bad news is: > > lazy-list didn't pass the check. > > --------this is the error line by Dedukti -------------------------------- > Processing file 'dedukti/lazy-list.dk'... > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. > > I searched online and found there isn't sub-packages for me to check > individually. I wonder if this one is just as a big whole file or maybe I > can somehow unpack it to different files and check through each > individually. > > Thanks! > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 8 15:33:47 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 17:33:47 +0200 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Thanks Joe, I will wait for further updates then. Regards, Robert On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: > Hi Robert, > > In terms of the OpenTheory package, you are correct that lazy-list is > monolithic: > > $ opentheory info --theory-source lazy-list > main { > article: "llist.art" > } > > However, Ramana may be able to dig up source files for the article > that could be restructured into subpackages. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 2:44 AM, Robert White > wrote: > > Dear Joe and Ramana, > > > > I used the new Holide and dedukti for proof checking of the whole > Opentheory > > repos. There is one good news and one bad news. > > > > The good news is: > > > > I have checked through the whole library of the rest apart from lazy-list > > without problems. They all passed the checking. > > > > The bad news is: > > > > lazy-list didn't pass the check. > > > > --------this is the error line by Dedukti > -------------------------------- > > Processing file 'dedukti/lazy-list.dk'... > > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. > > > > I searched online and found there isn't sub-packages for me to check > > individually. I wonder if this one is just as a big whole file or maybe I > > can somehow unpack it to different files and check through each > > individually. > > > > Thanks! > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 15:35:21 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 17:35:21 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Dear Joe, Okay, looks I have no way to load the others for now then. I will just play with these three first. Thanks again for your advice. Regards, Rob On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: > Hi Robert, > > The theories that are causing you errors are part of the standard > theory library: > > $ opentheory list 'Includes base' > bool-1.36 > function-1.55 > list-1.103 > natural-1.104 > option-1.72 > pair-1.27 > real-1.61 > relation-1.60 > set-1.71 > sum-1.61 > unit-1.20 > > Since HOL Light already implements the standard theory library, trying > to reload it will generate errors about defining symbols, as you have > experienced. > > My advice is to focus on theories that are not part of the standard > theory library, the easiest to obtain being those on the OpenTheory > repo: > > http://opentheory.gilith.com/packages/ > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 4:34 AM, Robert White > wrote: > > Dear Joe, > > > > Hello. I have the following errors: > > > > # extend_the_interpretation "opentheory/theories/list/list.int";; > > val it : unit = () > > # let all= import_article "opentheory/articles/list.art";; > > Exception: > > Failure > > "in article opentheory/articles/list.art at line 467: > defineConst\nstack = > > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; > > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; > > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; > > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; Thm]\nnew_constant: > > constant NUMSUM has already been declared". > > > > # let all= import_article "opentheory/articles/sum.art";; > > Exception: > > Failure > > "in article opentheory/articles/sum.art at line 499: defineConst\nstack > = > > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; > > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > \"_15483\"; > > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; > \"HOLLight._dest_sum\"; > > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant > NUMSUM > > has already been declared". > > > > > > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > > Exception: > > Sys_error "opentheory/theories/bool/bool.int: No such file or > directory". > > > > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > > Exception: > > Sys_error "opentheory/theories/bool/bool.int: No such file or > directory". > > # let all= import_article "opentheory/articles/bool.art";; > > Exception: > > Failure > > "in article opentheory/articles/bool.art at line 89: defineConst\nstack > = > > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already been > > declared". > > > > > > > > # let all= import_article "opentheory/articles/real.art";; > > Exception: > > Failure > > "in article opentheory/articles/real.art at line 283: > defineConst\nstack = > > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; Term]]]; > []; > > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; > > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; \"HOLLight.mk_hreal\"; > > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > > Const]\nnew_constant: constant is_nadd has already been declared". > > > > > > # let all= import_article "opentheory/articles/option.art";; > > Exception: > > Failure > > "in article opentheory/articles/option.art at line 478: > defineConst\nstack > > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > Var; > > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; > > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; > > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > \"_15483\"; > > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; \"HOLLight._dest_option\"; > > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; > \"is_none\"; > > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM has > > already been declared". > > > > > > > > So far I have only the three ones you showed in previous email working. : > > "natural-divides.art", "stream.art" and "natural-prime.art" > > > > I wonder how I should load the rest. > > > > Thanks a lot. > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ramana at member.fsf.org Mon Jun 8 15:36:33 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Mon, 8 Jun 2015 16:36:33 +0100 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: The lazy-list package is based on a HOL4 theory of lazy lists, which can be found here: https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. On 8 June 2015 at 16:33, Robert White wrote: > Thanks Joe, > > I will wait for further updates then. > > Regards, > Robert > > On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: > >> Hi Robert, >> >> In terms of the OpenTheory package, you are correct that lazy-list is >> monolithic: >> >> $ opentheory info --theory-source lazy-list >> main { >> article: "llist.art" >> } >> >> However, Ramana may be able to dig up source files for the article >> that could be restructured into subpackages. >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 2:44 AM, Robert White >> wrote: >> > Dear Joe and Ramana, >> > >> > I used the new Holide and dedukti for proof checking of the whole >> Opentheory >> > repos. There is one good news and one bad news. >> > >> > The good news is: >> > >> > I have checked through the whole library of the rest apart from >> lazy-list >> > without problems. They all passed the checking. >> > >> > The bad news is: >> > >> > lazy-list didn't pass the check. >> > >> > --------this is the error line by Dedukti >> -------------------------------- >> > Processing file 'dedukti/lazy-list.dk'... >> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. >> > >> > I searched online and found there isn't sub-packages for me to check >> > individually. I wonder if this one is just as a big whole file or maybe >> I >> > can somehow unpack it to different files and check through each >> > individually. >> > >> > Thanks! >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 15:45:32 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 17:45:32 +0200 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Dear Ramana, I am not sure how to deal with it. Do you have any advice please. I am not familiar with generating / extracting *.art files. Neither debugging though a .art file. Thanks On 8 June 2015 at 17:36, Ramana Kumar wrote: > The lazy-list package is based on a HOL4 theory of lazy lists, which can > be found here: > https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. > > On 8 June 2015 at 16:33, Robert White > wrote: > >> Thanks Joe, >> >> I will wait for further updates then. >> >> Regards, >> Robert >> >> On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: >> >>> Hi Robert, >>> >>> In terms of the OpenTheory package, you are correct that lazy-list is >>> monolithic: >>> >>> $ opentheory info --theory-source lazy-list >>> main { >>> article: "llist.art" >>> } >>> >>> However, Ramana may be able to dig up source files for the article >>> that could be restructured into subpackages. >>> >>> Cheers, >>> >>> Joe >>> >>> On Mon, Jun 8, 2015 at 2:44 AM, Robert White >>> wrote: >>> > Dear Joe and Ramana, >>> > >>> > I used the new Holide and dedukti for proof checking of the whole >>> Opentheory >>> > repos. There is one good news and one bad news. >>> > >>> > The good news is: >>> > >>> > I have checked through the whole library of the rest apart from >>> lazy-list >>> > without problems. They all passed the checking. >>> > >>> > The bad news is: >>> > >>> > lazy-list didn't pass the check. >>> > >>> > --------this is the error line by Dedukti >>> -------------------------------- >>> > Processing file 'dedukti/lazy-list.dk'... >>> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. >>> > >>> > I searched online and found there isn't sub-packages for me to check >>> > individually. I wonder if this one is just as a big whole file or >>> maybe I >>> > can somehow unpack it to different files and check through each >>> > individually. >>> > >>> > Thanks! >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >>> > [Moving to ILLC of UvA from this Sep. ] >>> > [New email address will be shuai.wang at student.uva.nl] >>> > >>> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep. ] >> [New email address will be shuai.wang at student.uva.nl] >> >> > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 15:45:52 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 08:45:52 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, Did you have a specific reason for wanting to load the standard theory library into HOL Light? You could regard this as already being loaded when you execute #use "hol.ml";; It would be possible to reload articles from the standard theory into HOL Light with some changes to import.ml, but right now I can't see a use-case for it. Cheers, Joe On Mon, Jun 8, 2015 at 8:35 AM, Robert White wrote: > Dear Joe, > > Okay, looks I have no way to load the others for now then. > I will just play with these three first. > > Thanks again for your advice. > > Regards, > Rob > > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> The theories that are causing you errors are part of the standard >> theory library: >> >> $ opentheory list 'Includes base' >> bool-1.36 >> function-1.55 >> list-1.103 >> natural-1.104 >> option-1.72 >> pair-1.27 >> real-1.61 >> relation-1.60 >> set-1.71 >> sum-1.61 >> unit-1.20 >> >> Since HOL Light already implements the standard theory library, trying >> to reload it will generate errors about defining symbols, as you have >> experienced. >> >> My advice is to focus on theories that are not part of the standard >> theory library, the easiest to obtain being those on the OpenTheory >> repo: >> >> http://opentheory.gilith.com/packages/ >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >> wrote: >> > Dear Joe, >> > >> > Hello. I have the following errors: >> > >> > # extend_the_interpretation "opentheory/theories/list/list.int";; >> > val it : unit = () >> > # let all= import_article "opentheory/articles/list.art";; >> > Exception: >> > Failure >> > "in article opentheory/articles/list.art at line 467: >> > defineConst\nstack = >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; Thm]\nnew_constant: >> > constant NUMSUM has already been declared". >> > >> > # let all= import_article "opentheory/articles/sum.art";; >> > Exception: >> > Failure >> > "in article opentheory/articles/sum.art at line 499: defineConst\nstack >> > = >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; Var; >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> > \"_15483\"; >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >> > \"HOLLight._dest_sum\"; >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant >> > NUMSUM >> > has already been declared". >> > >> > >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; >> > Exception: >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> > directory". >> > >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; >> > Exception: >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> > directory". >> > # let all= import_article "opentheory/articles/bool.art";; >> > Exception: >> > Failure >> > "in article opentheory/articles/bool.art at line 89: defineConst\nstack >> > = >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already been >> > declared". >> > >> > >> > >> > # let all= import_article "opentheory/articles/real.art";; >> > Exception: >> > Failure >> > "in article opentheory/articles/real.art at line 283: >> > defineConst\nstack = >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; Term]]]; >> > []; >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; \"HOLLight.mk_hreal\"; >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >> > Const]\nnew_constant: constant is_nadd has already been declared". >> > >> > >> > # let all= import_article "opentheory/articles/option.art";; >> > Exception: >> > Failure >> > "in article opentheory/articles/option.art at line 478: >> > defineConst\nstack >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; >> > Var; >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; Term; >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; \"HOLLight._dest_rec\"; >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> > \"_15483\"; >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; \"HOLLight._dest_option\"; >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; >> > \"is_none\"; >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM has >> > already been declared". >> > >> > >> > >> > So far I have only the three ones you showed in previous email working. >> > : >> > "natural-divides.art", "stream.art" and "natural-prime.art" >> > >> > I wonder how I should load the rest. >> > >> > Thanks a lot. >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 8 15:50:13 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 17:50:13 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Dear Joe, I need to do some checking and proofs of these proofs. so Logically using these proofs directly is a good thing but I can't find a "list" I can simply use. So I was trying to load from the .art files. Do you know if there is any way to get a list of these thms? If so then the problem is solved. Thanks Robert On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: > Hi Robert, > > Did you have a specific reason for wanting to load the standard theory > library into HOL Light? You could regard this as already being loaded > when you execute > > #use "hol.ml";; > > It would be possible to reload articles from the standard theory into > HOL Light with some changes to import.ml, but right now I can't see a > use-case for it. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 8:35 AM, Robert White > wrote: > > Dear Joe, > > > > Okay, looks I have no way to load the others for now then. > > I will just play with these three first. > > > > Thanks again for your advice. > > > > Regards, > > Rob > > > > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: > >> > >> Hi Robert, > >> > >> The theories that are causing you errors are part of the standard > >> theory library: > >> > >> $ opentheory list 'Includes base' > >> bool-1.36 > >> function-1.55 > >> list-1.103 > >> natural-1.104 > >> option-1.72 > >> pair-1.27 > >> real-1.61 > >> relation-1.60 > >> set-1.71 > >> sum-1.61 > >> unit-1.20 > >> > >> Since HOL Light already implements the standard theory library, trying > >> to reload it will generate errors about defining symbols, as you have > >> experienced. > >> > >> My advice is to focus on theories that are not part of the standard > >> theory library, the easiest to obtain being those on the OpenTheory > >> repo: > >> > >> http://opentheory.gilith.com/packages/ > >> > >> Cheers, > >> > >> Joe > >> > >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White > >> wrote: > >> > Dear Joe, > >> > > >> > Hello. I have the following errors: > >> > > >> > # extend_the_interpretation "opentheory/theories/list/list.int";; > >> > val it : unit = () > >> > # let all= import_article "opentheory/articles/list.art";; > >> > Exception: > >> > Failure > >> > "in article opentheory/articles/list.art at line 467: > >> > defineConst\nstack = > >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > Var; > >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > Term; > >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > \"HOLLight._dest_rec\"; > >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; > >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; > >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; > Thm]\nnew_constant: > >> > constant NUMSUM has already been declared". > >> > > >> > # let all= import_article "opentheory/articles/sum.art";; > >> > Exception: > >> > Failure > >> > "in article opentheory/articles/sum.art at line 499: > defineConst\nstack > >> > = > >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > Var; > >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > Term; > >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > \"HOLLight._dest_rec\"; > >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >> > \"_15483\"; > >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; > >> > \"HOLLight._dest_sum\"; > >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant > >> > NUMSUM > >> > has already been declared". > >> > > >> > > >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > >> > Exception: > >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >> > directory". > >> > > >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; > >> > Exception: > >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >> > directory". > >> > # let all= import_article "opentheory/articles/bool.art";; > >> > Exception: > >> > Failure > >> > "in article opentheory/articles/bool.art at line 89: > defineConst\nstack > >> > = > >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already > been > >> > declared". > >> > > >> > > >> > > >> > # let all= import_article "opentheory/articles/real.art";; > >> > Exception: > >> > Failure > >> > "in article opentheory/articles/real.art at line 283: > >> > defineConst\nstack = > >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; Term]]]; > >> > []; > >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; > >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; > \"HOLLight.mk_hreal\"; > >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > >> > Const]\nnew_constant: constant is_nadd has already been declared". > >> > > >> > > >> > # let all= import_article "opentheory/articles/option.art";; > >> > Exception: > >> > Failure > >> > "in article opentheory/articles/option.art at line 478: > >> > defineConst\nstack > >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > >> > Var; > >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > Term; > >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > \"HOLLight._dest_rec\"; > >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >> > \"_15483\"; > >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; > \"HOLLight._dest_option\"; > >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; > >> > \"is_none\"; > >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM > has > >> > already been declared". > >> > > >> > > >> > > >> > So far I have only the three ones you showed in previous email > working. > >> > : > >> > "natural-divides.art", "stream.art" and "natural-prime.art" > >> > > >> > I wonder how I should load the rest. > >> > > >> > Thanks a lot. > >> > -- > >> > > >> > Regards, > >> > Robert White (Shuai Wang) > >> > INRIA Deducteam > >> > [Moving to ILLC of UvA from this Sep. ] > >> > [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ramana at member.fsf.org Mon Jun 8 15:58:51 2015 From: ramana at member.fsf.org (Ramana Kumar) Date: Mon, 8 Jun 2015 16:58:51 +0100 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Hi Robert, The article was generated following the instructions at http://www.gilith.com/research/opentheory/faq.html#export-from-hol4 applied to llistScript.sml. If the article is accepted by the opentheory tool but not by Dedukti, perhaps there is a problem in Holide or in the Dedukti checker? For debugging maybe you could try exporting only a part of llistScript.sml (by deleting the rest). Or even translating only a small part of the generated llist.art to Dedukti. Cheers, Ramana On 8 June 2015 at 16:45, Robert White wrote: > Dear Ramana, > > I am not sure how to deal with it. Do you have any advice please. I am not > familiar with generating / extracting *.art files. Neither debugging though > a .art file. > > Thanks > > On 8 June 2015 at 17:36, Ramana Kumar wrote: > >> The lazy-list package is based on a HOL4 theory of lazy lists, which can >> be found here: >> https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. >> >> On 8 June 2015 at 16:33, Robert White >> wrote: >> >>> Thanks Joe, >>> >>> I will wait for further updates then. >>> >>> Regards, >>> Robert >>> >>> On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: >>> >>>> Hi Robert, >>>> >>>> In terms of the OpenTheory package, you are correct that lazy-list is >>>> monolithic: >>>> >>>> $ opentheory info --theory-source lazy-list >>>> main { >>>> article: "llist.art" >>>> } >>>> >>>> However, Ramana may be able to dig up source files for the article >>>> that could be restructured into subpackages. >>>> >>>> Cheers, >>>> >>>> Joe >>>> >>>> On Mon, Jun 8, 2015 at 2:44 AM, Robert White >>>> wrote: >>>> > Dear Joe and Ramana, >>>> > >>>> > I used the new Holide and dedukti for proof checking of the whole >>>> Opentheory >>>> > repos. There is one good news and one bad news. >>>> > >>>> > The good news is: >>>> > >>>> > I have checked through the whole library of the rest apart from >>>> lazy-list >>>> > without problems. They all passed the checking. >>>> > >>>> > The bad news is: >>>> > >>>> > lazy-list didn't pass the check. >>>> > >>>> > --------this is the error line by Dedukti >>>> -------------------------------- >>>> > Processing file 'dedukti/lazy-list.dk'... >>>> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. >>>> > >>>> > I searched online and found there isn't sub-packages for me to check >>>> > individually. I wonder if this one is just as a big whole file or >>>> maybe I >>>> > can somehow unpack it to different files and check through each >>>> > individually. >>>> > >>>> > Thanks! >>>> > -- >>>> > >>>> > Regards, >>>> > Robert White (Shuai Wang) >>>> > INRIA Deducteam >>>> > [Moving to ILLC of UvA from this Sep. ] >>>> > [New email address will be shuai.wang at student.uva.nl] >>>> > >>>> >>> >>> >>> >>> -- >>> >>> Regards, >>> Robert White (Shuai Wang) >>> INRIA Deducteam >>> [Moving to ILLC of UvA from this Sep. ] >>> [New email address will be shuai.wang at student.uva.nl] >>> >>> >> > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 16:13:14 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 09:13:14 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, If you do a pull I've added a function that will list every exported theorem, so you can do: #use "hol.ml";; Export.list_the_exported_thms ();; Please let me know if that gives you what you need. Cheers, Joe On Mon, Jun 8, 2015 at 8:50 AM, Robert White wrote: > Dear Joe, > > I need to do some checking and proofs of these proofs. so Logically using > these proofs directly is a good thing but I can't find a "list" I can simply > use. So I was trying to load from the .art files. > > Do you know if there is any way to get a list of these thms? If so then the > problem is solved. > > Thanks > Robert > > > > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> Did you have a specific reason for wanting to load the standard theory >> library into HOL Light? You could regard this as already being loaded >> when you execute >> >> #use "hol.ml";; >> >> It would be possible to reload articles from the standard theory into >> HOL Light with some changes to import.ml, but right now I can't see a >> use-case for it. >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White >> wrote: >> > Dear Joe, >> > >> > Okay, looks I have no way to load the others for now then. >> > I will just play with these three first. >> > >> > Thanks again for your advice. >> > >> > Regards, >> > Rob >> > >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: >> >> >> >> Hi Robert, >> >> >> >> The theories that are causing you errors are part of the standard >> >> theory library: >> >> >> >> $ opentheory list 'Includes base' >> >> bool-1.36 >> >> function-1.55 >> >> list-1.103 >> >> natural-1.104 >> >> option-1.72 >> >> pair-1.27 >> >> real-1.61 >> >> relation-1.60 >> >> set-1.71 >> >> sum-1.61 >> >> unit-1.20 >> >> >> >> Since HOL Light already implements the standard theory library, trying >> >> to reload it will generate errors about defining symbols, as you have >> >> experienced. >> >> >> >> My advice is to focus on theories that are not part of the standard >> >> theory library, the easiest to obtain being those on the OpenTheory >> >> repo: >> >> >> >> http://opentheory.gilith.com/packages/ >> >> >> >> Cheers, >> >> >> >> Joe >> >> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >> >> wrote: >> >> > Dear Joe, >> >> > >> >> > Hello. I have the following errors: >> >> > >> >> > # extend_the_interpretation "opentheory/theories/list/list.int";; >> >> > val it : unit = () >> >> > # let all= import_article "opentheory/articles/list.art";; >> >> > Exception: >> >> > Failure >> >> > "in article opentheory/articles/list.art at line 467: >> >> > defineConst\nstack = >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; >> >> > Var; >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> > Term; >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> > \"HOLLight._dest_rec\"; >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; >> >> > Thm]\nnew_constant: >> >> > constant NUMSUM has already been declared". >> >> > >> >> > # let all= import_article "opentheory/articles/sum.art";; >> >> > Exception: >> >> > Failure >> >> > "in article opentheory/articles/sum.art at line 499: >> >> > defineConst\nstack >> >> > = >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; >> >> > Var; >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> > Term; >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> > \"HOLLight._dest_rec\"; >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> >> > \"_15483\"; >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >> >> > \"HOLLight._dest_sum\"; >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: constant >> >> > NUMSUM >> >> > has already been declared". >> >> > >> >> > >> >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; >> >> > Exception: >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >> > directory". >> >> > >> >> > # extend_the_interpretation "opentheory/theories/bool/bool.int";; >> >> > Exception: >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >> > directory". >> >> > # let all= import_article "opentheory/articles/bool.art";; >> >> > Exception: >> >> > Failure >> >> > "in article opentheory/articles/bool.art at line 89: >> >> > defineConst\nstack >> >> > = >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already >> >> > been >> >> > declared". >> >> > >> >> > >> >> > >> >> > # let all= import_article "opentheory/articles/real.art";; >> >> > Exception: >> >> > Failure >> >> > "in article opentheory/articles/real.art at line 283: >> >> > defineConst\nstack = >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; >> >> > Term]]]; >> >> > []; >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; >> >> > \"HOLLight.mk_hreal\"; >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >> >> > Const]\nnew_constant: constant is_nadd has already been declared". >> >> > >> >> > >> >> > # let all= import_article "opentheory/articles/option.art";; >> >> > Exception: >> >> > Failure >> >> > "in article opentheory/articles/option.art at line 478: >> >> > defineConst\nstack >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; >> >> > Var; >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> > Term; >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> > \"HOLLight._dest_rec\"; >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> >> > \"_15483\"; >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; >> >> > \"HOLLight._dest_option\"; >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; >> >> > \"is_none\"; >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant NUMSUM >> >> > has >> >> > already been declared". >> >> > >> >> > >> >> > >> >> > So far I have only the three ones you showed in previous email >> >> > working. >> >> > : >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" >> >> > >> >> > I wonder how I should load the rest. >> >> > >> >> > Thanks a lot. >> >> > -- >> >> > >> >> > Regards, >> >> > Robert White (Shuai Wang) >> >> > INRIA Deducteam >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> > >> > >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 8 16:13:29 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 18:13:29 +0200 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Thanks for the link. > If the article is accepted by the opentheory tool but not by Dedukti, perhaps there is a problem in Holide or in the Dedukti checker? I have also been diving into it on my side to see where the problem could be. Thanks for your advice. I will try that. Regards, Robert On 8 June 2015 at 17:58, Ramana Kumar wrote: > Hi Robert, > > The article was generated following the instructions at > http://www.gilith.com/research/opentheory/faq.html#export-from-hol4 > applied to llistScript.sml. > > If the article is accepted by the opentheory tool but not by Dedukti, > perhaps there is a problem in Holide or in the Dedukti checker? > > For debugging maybe you could try exporting only a part of llistScript.sml > (by deleting the rest). Or even translating only a small part of the > generated llist.art to Dedukti. > > Cheers, > Ramana > > On 8 June 2015 at 16:45, Robert White > wrote: > >> Dear Ramana, >> >> I am not sure how to deal with it. Do you have any advice please. I am >> not familiar with generating / extracting *.art files. Neither debugging >> though a .art file. >> >> Thanks >> >> On 8 June 2015 at 17:36, Ramana Kumar wrote: >> >>> The lazy-list package is based on a HOL4 theory of lazy lists, which can >>> be found here: >>> https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. >>> >>> On 8 June 2015 at 16:33, Robert White >>> wrote: >>> >>>> Thanks Joe, >>>> >>>> I will wait for further updates then. >>>> >>>> Regards, >>>> Robert >>>> >>>> On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: >>>> >>>>> Hi Robert, >>>>> >>>>> In terms of the OpenTheory package, you are correct that lazy-list is >>>>> monolithic: >>>>> >>>>> $ opentheory info --theory-source lazy-list >>>>> main { >>>>> article: "llist.art" >>>>> } >>>>> >>>>> However, Ramana may be able to dig up source files for the article >>>>> that could be restructured into subpackages. >>>>> >>>>> Cheers, >>>>> >>>>> Joe >>>>> >>>>> On Mon, Jun 8, 2015 at 2:44 AM, Robert White >>>>> wrote: >>>>> > Dear Joe and Ramana, >>>>> > >>>>> > I used the new Holide and dedukti for proof checking of the whole >>>>> Opentheory >>>>> > repos. There is one good news and one bad news. >>>>> > >>>>> > The good news is: >>>>> > >>>>> > I have checked through the whole library of the rest apart from >>>>> lazy-list >>>>> > without problems. They all passed the checking. >>>>> > >>>>> > The bad news is: >>>>> > >>>>> > lazy-list didn't pass the check. >>>>> > >>>>> > --------this is the error line by Dedukti >>>>> -------------------------------- >>>>> > Processing file 'dedukti/lazy-list.dk'... >>>>> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. >>>>> > >>>>> > I searched online and found there isn't sub-packages for me to check >>>>> > individually. I wonder if this one is just as a big whole file or >>>>> maybe I >>>>> > can somehow unpack it to different files and check through each >>>>> > individually. >>>>> > >>>>> > Thanks! >>>>> > -- >>>>> > >>>>> > Regards, >>>>> > Robert White (Shuai Wang) >>>>> > INRIA Deducteam >>>>> > [Moving to ILLC of UvA from this Sep. ] >>>>> > [New email address will be shuai.wang at student.uva.nl] >>>>> > >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Regards, >>>> Robert White (Shuai Wang) >>>> INRIA Deducteam >>>> [Moving to ILLC of UvA from this Sep. ] >>>> [New email address will be shuai.wang at student.uva.nl] >>>> >>>> >>> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep. ] >> [New email address will be shuai.wang at student.uva.nl] >> >> >> _______________________________________________ >> opentheory-users mailing list >> opentheory-users at gilith.com >> http://www.gilith.com/mailman/listinfo/opentheory-users >> >> > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 16:17:06 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 09:17:06 -0700 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: It is possibly helpful to note that every prefix of a valid article is a valid article (as long as you break at a newline), so if you need a smaller testcase you could delete everything after some newline in llist.art. Cheers, Joe On Mon, Jun 8, 2015 at 9:13 AM, Robert White wrote: > Thanks for the link. > >> If the article is accepted by the opentheory tool but not by Dedukti, >> perhaps there is a problem in Holide or in the Dedukti checker? > > I have also been diving into it on my side to see where the problem could > be. > > Thanks for your advice. I will try that. > > Regards, > Robert > > On 8 June 2015 at 17:58, Ramana Kumar wrote: >> >> Hi Robert, >> >> The article was generated following the instructions at >> http://www.gilith.com/research/opentheory/faq.html#export-from-hol4 applied >> to llistScript.sml. >> >> If the article is accepted by the opentheory tool but not by Dedukti, >> perhaps there is a problem in Holide or in the Dedukti checker? >> >> For debugging maybe you could try exporting only a part of llistScript.sml >> (by deleting the rest). Or even translating only a small part of the >> generated llist.art to Dedukti. >> >> Cheers, >> Ramana >> >> On 8 June 2015 at 16:45, Robert White >> wrote: >>> >>> Dear Ramana, >>> >>> I am not sure how to deal with it. Do you have any advice please. I am >>> not familiar with generating / extracting *.art files. Neither debugging >>> though a .art file. >>> >>> Thanks >>> >>> On 8 June 2015 at 17:36, Ramana Kumar wrote: >>>> >>>> The lazy-list package is based on a HOL4 theory of lazy lists, which can >>>> be found here: >>>> https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. >>>> >>>> On 8 June 2015 at 16:33, Robert White >>>> wrote: >>>>> >>>>> Thanks Joe, >>>>> >>>>> I will wait for further updates then. >>>>> >>>>> Regards, >>>>> Robert >>>>> >>>>> On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: >>>>>> >>>>>> Hi Robert, >>>>>> >>>>>> In terms of the OpenTheory package, you are correct that lazy-list is >>>>>> monolithic: >>>>>> >>>>>> $ opentheory info --theory-source lazy-list >>>>>> main { >>>>>> article: "llist.art" >>>>>> } >>>>>> >>>>>> However, Ramana may be able to dig up source files for the article >>>>>> that could be restructured into subpackages. >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Joe >>>>>> >>>>>> On Mon, Jun 8, 2015 at 2:44 AM, Robert White >>>>>> wrote: >>>>>> > Dear Joe and Ramana, >>>>>> > >>>>>> > I used the new Holide and dedukti for proof checking of the whole >>>>>> > Opentheory >>>>>> > repos. There is one good news and one bad news. >>>>>> > >>>>>> > The good news is: >>>>>> > >>>>>> > I have checked through the whole library of the rest apart from >>>>>> > lazy-list >>>>>> > without problems. They all passed the checking. >>>>>> > >>>>>> > The bad news is: >>>>>> > >>>>>> > lazy-list didn't pass the check. >>>>>> > >>>>>> > --------this is the error line by Dedukti >>>>>> > -------------------------------- >>>>>> > Processing file 'dedukti/lazy-list.dk'... >>>>>> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. >>>>>> > >>>>>> > I searched online and found there isn't sub-packages for me to check >>>>>> > individually. I wonder if this one is just as a big whole file or >>>>>> > maybe I >>>>>> > can somehow unpack it to different files and check through each >>>>>> > individually. >>>>>> > >>>>>> > Thanks! >>>>>> > -- >>>>>> > >>>>>> > Regards, >>>>>> > Robert White (Shuai Wang) >>>>>> > INRIA Deducteam >>>>>> > [Moving to ILLC of UvA from this Sep. ] >>>>>> > [New email address will be shuai.wang at student.uva.nl] >>>>>> > >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> Regards, >>>>> Robert White (Shuai Wang) >>>>> INRIA Deducteam >>>>> [Moving to ILLC of UvA from this Sep. ] >>>>> [New email address will be shuai.wang at student.uva.nl] >>>>> >>>> >>> >>> >>> >>> -- >>> >>> Regards, >>> Robert White (Shuai Wang) >>> INRIA Deducteam >>> [Moving to ILLC of UvA from this Sep. ] >>> [New email address will be shuai.wang at student.uva.nl] >>> >>> >>> _______________________________________________ >>> opentheory-users mailing list >>> opentheory-users at gilith.com >>> http://www.gilith.com/mailman/listinfo/opentheory-users >>> >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > From ai.robert.wangshuai at gmail.com Mon Jun 8 16:47:12 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 18:47:12 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Dear Joe, Thanks very much! It is really helpful. Thanks a lot for your help :) Regards, Robert On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: > Hi Robert, > > If you do a pull I've added a function that will list every exported > theorem, so you can do: > > #use "hol.ml";; > Export.list_the_exported_thms ();; > > Please let me know if that gives you what you need. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 8:50 AM, Robert White > wrote: > > Dear Joe, > > > > I need to do some checking and proofs of these proofs. so Logically using > > these proofs directly is a good thing but I can't find a "list" I can > simply > > use. So I was trying to load from the .art files. > > > > Do you know if there is any way to get a list of these thms? If so then > the > > problem is solved. > > > > Thanks > > Robert > > > > > > > > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: > >> > >> Hi Robert, > >> > >> Did you have a specific reason for wanting to load the standard theory > >> library into HOL Light? You could regard this as already being loaded > >> when you execute > >> > >> #use "hol.ml";; > >> > >> It would be possible to reload articles from the standard theory into > >> HOL Light with some changes to import.ml, but right now I can't see a > >> use-case for it. > >> > >> Cheers, > >> > >> Joe > >> > >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White > >> wrote: > >> > Dear Joe, > >> > > >> > Okay, looks I have no way to load the others for now then. > >> > I will just play with these three first. > >> > > >> > Thanks again for your advice. > >> > > >> > Regards, > >> > Rob > >> > > >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: > >> >> > >> >> Hi Robert, > >> >> > >> >> The theories that are causing you errors are part of the standard > >> >> theory library: > >> >> > >> >> $ opentheory list 'Includes base' > >> >> bool-1.36 > >> >> function-1.55 > >> >> list-1.103 > >> >> natural-1.104 > >> >> option-1.72 > >> >> pair-1.27 > >> >> real-1.61 > >> >> relation-1.60 > >> >> set-1.71 > >> >> sum-1.61 > >> >> unit-1.20 > >> >> > >> >> Since HOL Light already implements the standard theory library, > trying > >> >> to reload it will generate errors about defining symbols, as you have > >> >> experienced. > >> >> > >> >> My advice is to focus on theories that are not part of the standard > >> >> theory library, the easiest to obtain being those on the OpenTheory > >> >> repo: > >> >> > >> >> http://opentheory.gilith.com/packages/ > >> >> > >> >> Cheers, > >> >> > >> >> Joe > >> >> > >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White > >> >> wrote: > >> >> > Dear Joe, > >> >> > > >> >> > Hello. I have the following errors: > >> >> > > >> >> > # extend_the_interpretation "opentheory/theories/list/list.int > ";; > >> >> > val it : unit = () > >> >> > # let all= import_article "opentheory/articles/list.art";; > >> >> > Exception: > >> >> > Failure > >> >> > "in article opentheory/articles/list.art at line 467: > >> >> > defineConst\nstack = > >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > >> >> > Var; > >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > >> >> > Term; > >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >> > \"HOLLight._dest_rec\"; > >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; > >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; \"Data.List.list\"; > >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; > >> >> > Thm]\nnew_constant: > >> >> > constant NUMSUM has already been declared". > >> >> > > >> >> > # let all= import_article "opentheory/articles/sum.art";; > >> >> > Exception: > >> >> > Failure > >> >> > "in article opentheory/articles/sum.art at line 499: > >> >> > defineConst\nstack > >> >> > = > >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; Term; > >> >> > Var; > >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > >> >> > Term; > >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >> > \"HOLLight._dest_rec\"; > >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >> >> > \"_15483\"; > >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; > >> >> > \"HOLLight._dest_sum\"; > >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: > constant > >> >> > NUMSUM > >> >> > has already been declared". > >> >> > > >> >> > > >> >> > # extend_the_interpretation "opentheory/theories/bool/bool.int > ";; > >> >> > Exception: > >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >> >> > directory". > >> >> > > >> >> > # extend_the_interpretation "opentheory/theories/bool/bool.int > ";; > >> >> > Exception: > >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >> >> > directory". > >> >> > # let all= import_article "opentheory/articles/bool.art";; > >> >> > Exception: > >> >> > Failure > >> >> > "in article opentheory/articles/bool.art at line 89: > >> >> > defineConst\nstack > >> >> > = > >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already > >> >> > been > >> >> > declared". > >> >> > > >> >> > > >> >> > > >> >> > # let all= import_article "opentheory/articles/real.art";; > >> >> > Exception: > >> >> > Failure > >> >> > "in article opentheory/articles/real.art at line 283: > >> >> > defineConst\nstack = > >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; > >> >> > Term]]]; > >> >> > []; > >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; > >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; > >> >> > \"HOLLight.mk_hreal\"; > >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > >> >> > Const]\nnew_constant: constant is_nadd has already been > declared". > >> >> > > >> >> > > >> >> > # let all= import_article "opentheory/articles/option.art";; > >> >> > Exception: > >> >> > Failure > >> >> > "in article opentheory/articles/option.art at line 478: > >> >> > defineConst\nstack > >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; > Term; > >> >> > Var; > >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; Var; > >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; > >> >> > Term; > >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >> > \"HOLLight._dest_rec\"; > >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >> >> > \"_15483\"; > >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; > >> >> > \"HOLLight._dest_option\"; > >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; > >> >> > \"is_none\"; > >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant > NUMSUM > >> >> > has > >> >> > already been declared". > >> >> > > >> >> > > >> >> > > >> >> > So far I have only the three ones you showed in previous email > >> >> > working. > >> >> > : > >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" > >> >> > > >> >> > I wonder how I should load the rest. > >> >> > > >> >> > Thanks a lot. > >> >> > -- > >> >> > > >> >> > Regards, > >> >> > Robert White (Shuai Wang) > >> >> > INRIA Deducteam > >> >> > [Moving to ILLC of UvA from this Sep. ] > >> >> > [New email address will be shuai.wang at student.uva.nl] > >> >> > > >> > > >> > > >> > > >> > > >> > -- > >> > > >> > Regards, > >> > Robert White (Shuai Wang) > >> > INRIA Deducteam > >> > [Moving to ILLC of UvA from this Sep. ] > >> > [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 16:50:46 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 18:50:46 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hello again. One more question: These are the thms exported as a result of loading hol.ml? So am I right to say that these are the thms from basics.ml to relax.ml (according to the order in hol.ml)? Thanks. Regards, Robert On 8 June 2015 at 18:47, Robert White wrote: > Dear Joe, > > Thanks very much! > > It is really helpful. > > Thanks a lot for your help :) > > Regards, > Robert > > On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: > >> Hi Robert, >> >> If you do a pull I've added a function that will list every exported >> theorem, so you can do: >> >> #use "hol.ml";; >> Export.list_the_exported_thms ();; >> >> Please let me know if that gives you what you need. >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 8:50 AM, Robert White >> wrote: >> > Dear Joe, >> > >> > I need to do some checking and proofs of these proofs. so Logically >> using >> > these proofs directly is a good thing but I can't find a "list" I can >> simply >> > use. So I was trying to load from the .art files. >> > >> > Do you know if there is any way to get a list of these thms? If so then >> the >> > problem is solved. >> > >> > Thanks >> > Robert >> > >> > >> > >> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: >> >> >> >> Hi Robert, >> >> >> >> Did you have a specific reason for wanting to load the standard theory >> >> library into HOL Light? You could regard this as already being loaded >> >> when you execute >> >> >> >> #use "hol.ml";; >> >> >> >> It would be possible to reload articles from the standard theory into >> >> HOL Light with some changes to import.ml, but right now I can't see a >> >> use-case for it. >> >> >> >> Cheers, >> >> >> >> Joe >> >> >> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White >> >> wrote: >> >> > Dear Joe, >> >> > >> >> > Okay, looks I have no way to load the others for now then. >> >> > I will just play with these three first. >> >> > >> >> > Thanks again for your advice. >> >> > >> >> > Regards, >> >> > Rob >> >> > >> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: >> >> >> >> >> >> Hi Robert, >> >> >> >> >> >> The theories that are causing you errors are part of the standard >> >> >> theory library: >> >> >> >> >> >> $ opentheory list 'Includes base' >> >> >> bool-1.36 >> >> >> function-1.55 >> >> >> list-1.103 >> >> >> natural-1.104 >> >> >> option-1.72 >> >> >> pair-1.27 >> >> >> real-1.61 >> >> >> relation-1.60 >> >> >> set-1.71 >> >> >> sum-1.61 >> >> >> unit-1.20 >> >> >> >> >> >> Since HOL Light already implements the standard theory library, >> trying >> >> >> to reload it will generate errors about defining symbols, as you >> have >> >> >> experienced. >> >> >> >> >> >> My advice is to focus on theories that are not part of the standard >> >> >> theory library, the easiest to obtain being those on the OpenTheory >> >> >> repo: >> >> >> >> >> >> http://opentheory.gilith.com/packages/ >> >> >> >> >> >> Cheers, >> >> >> >> >> >> Joe >> >> >> >> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >> >> >> wrote: >> >> >> > Dear Joe, >> >> >> > >> >> >> > Hello. I have the following errors: >> >> >> > >> >> >> > # extend_the_interpretation "opentheory/theories/list/ >> list.int";; >> >> >> > val it : unit = () >> >> >> > # let all= import_article "opentheory/articles/list.art";; >> >> >> > Exception: >> >> >> > Failure >> >> >> > "in article opentheory/articles/list.art at line 467: >> >> >> > defineConst\nstack = >> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >> Term; >> >> >> > Var; >> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> Var; >> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> >> > Term; >> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >> > \"HOLLight._dest_rec\"; >> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; [\"A\"]; >> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; >> \"Data.List.list\"; >> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; >> >> >> > Thm]\nnew_constant: >> >> >> > constant NUMSUM has already been declared". >> >> >> > >> >> >> > # let all= import_article "opentheory/articles/sum.art";; >> >> >> > Exception: >> >> >> > Failure >> >> >> > "in article opentheory/articles/sum.art at line 499: >> >> >> > defineConst\nstack >> >> >> > = >> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >> Term; >> >> >> > Var; >> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> Var; >> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> >> > Term; >> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >> > \"HOLLight._dest_rec\"; >> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> >> >> > \"_15483\"; >> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >> >> >> > \"HOLLight._dest_sum\"; >> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: >> constant >> >> >> > NUMSUM >> >> >> > has already been declared". >> >> >> > >> >> >> > >> >> >> > # extend_the_interpretation "opentheory/theories/bool/ >> bool.int";; >> >> >> > Exception: >> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >> >> > directory". >> >> >> > >> >> >> > # extend_the_interpretation "opentheory/theories/bool/ >> bool.int";; >> >> >> > Exception: >> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >> >> > directory". >> >> >> > # let all= import_article "opentheory/articles/bool.art";; >> >> >> > Exception: >> >> >> > Failure >> >> >> > "in article opentheory/articles/bool.art at line 89: >> >> >> > defineConst\nstack >> >> >> > = >> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has already >> >> >> > been >> >> >> > declared". >> >> >> > >> >> >> > >> >> >> > >> >> >> > # let all= import_article "opentheory/articles/real.art";; >> >> >> > Exception: >> >> >> > Failure >> >> >> > "in article opentheory/articles/real.art at line 283: >> >> >> > defineConst\nstack = >> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; >> >> >> > Term]]]; >> >> >> > []; >> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; >> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; >> >> >> > \"HOLLight.mk_hreal\"; >> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >> >> >> > Const]\nnew_constant: constant is_nadd has already been >> declared". >> >> >> > >> >> >> > >> >> >> > # let all= import_article "opentheory/articles/option.art";; >> >> >> > Exception: >> >> >> > Failure >> >> >> > "in article opentheory/articles/option.art at line 478: >> >> >> > defineConst\nstack >> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >> Term; >> >> >> > Var; >> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> Var; >> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; Term; >> >> >> > Term; >> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >> > \"HOLLight._dest_rec\"; >> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >> >> >> > \"_15483\"; >> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; >> >> >> > \"HOLLight._dest_option\"; >> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; >> >> >> > \"is_none\"; >> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant >> NUMSUM >> >> >> > has >> >> >> > already been declared". >> >> >> > >> >> >> > >> >> >> > >> >> >> > So far I have only the three ones you showed in previous email >> >> >> > working. >> >> >> > : >> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" >> >> >> > >> >> >> > I wonder how I should load the rest. >> >> >> > >> >> >> > Thanks a lot. >> >> >> > -- >> >> >> > >> >> >> > Regards, >> >> >> > Robert White (Shuai Wang) >> >> >> > INRIA Deducteam >> >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > -- >> >> > >> >> > Regards, >> >> > Robert White (Shuai Wang) >> >> > INRIA Deducteam >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> > >> > >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 17:12:16 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 10:12:16 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, This is every theorem th from basics.ml to realax.ml for which there was a call export_thm th;; which means that the theorem is part of the standard theory library. Cheers, Joe On Mon, Jun 8, 2015 at 9:50 AM, Robert White wrote: > Hello again. > > One more question: > > These are the thms exported as a result of loading hol.ml? > > So am I right to say that these are the thms from basics.ml to relax.ml > (according to the order in hol.ml)? > > Thanks. > > Regards, > Robert > > > On 8 June 2015 at 18:47, Robert White wrote: >> >> Dear Joe, >> >> Thanks very much! >> >> It is really helpful. >> >> Thanks a lot for your help :) >> >> Regards, >> Robert >> >> On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: >>> >>> Hi Robert, >>> >>> If you do a pull I've added a function that will list every exported >>> theorem, so you can do: >>> >>> #use "hol.ml";; >>> Export.list_the_exported_thms ();; >>> >>> Please let me know if that gives you what you need. >>> >>> Cheers, >>> >>> Joe >>> >>> On Mon, Jun 8, 2015 at 8:50 AM, Robert White >>> wrote: >>> > Dear Joe, >>> > >>> > I need to do some checking and proofs of these proofs. so Logically >>> > using >>> > these proofs directly is a good thing but I can't find a "list" I can >>> > simply >>> > use. So I was trying to load from the .art files. >>> > >>> > Do you know if there is any way to get a list of these thms? If so then >>> > the >>> > problem is solved. >>> > >>> > Thanks >>> > Robert >>> > >>> > >>> > >>> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: >>> >> >>> >> Hi Robert, >>> >> >>> >> Did you have a specific reason for wanting to load the standard theory >>> >> library into HOL Light? You could regard this as already being loaded >>> >> when you execute >>> >> >>> >> #use "hol.ml";; >>> >> >>> >> It would be possible to reload articles from the standard theory into >>> >> HOL Light with some changes to import.ml, but right now I can't see a >>> >> use-case for it. >>> >> >>> >> Cheers, >>> >> >>> >> Joe >>> >> >>> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White >>> >> wrote: >>> >> > Dear Joe, >>> >> > >>> >> > Okay, looks I have no way to load the others for now then. >>> >> > I will just play with these three first. >>> >> > >>> >> > Thanks again for your advice. >>> >> > >>> >> > Regards, >>> >> > Rob >>> >> > >>> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: >>> >> >> >>> >> >> Hi Robert, >>> >> >> >>> >> >> The theories that are causing you errors are part of the standard >>> >> >> theory library: >>> >> >> >>> >> >> $ opentheory list 'Includes base' >>> >> >> bool-1.36 >>> >> >> function-1.55 >>> >> >> list-1.103 >>> >> >> natural-1.104 >>> >> >> option-1.72 >>> >> >> pair-1.27 >>> >> >> real-1.61 >>> >> >> relation-1.60 >>> >> >> set-1.71 >>> >> >> sum-1.61 >>> >> >> unit-1.20 >>> >> >> >>> >> >> Since HOL Light already implements the standard theory library, >>> >> >> trying >>> >> >> to reload it will generate errors about defining symbols, as you >>> >> >> have >>> >> >> experienced. >>> >> >> >>> >> >> My advice is to focus on theories that are not part of the standard >>> >> >> theory library, the easiest to obtain being those on the OpenTheory >>> >> >> repo: >>> >> >> >>> >> >> http://opentheory.gilith.com/packages/ >>> >> >> >>> >> >> Cheers, >>> >> >> >>> >> >> Joe >>> >> >> >>> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >>> >> >> wrote: >>> >> >> > Dear Joe, >>> >> >> > >>> >> >> > Hello. I have the following errors: >>> >> >> > >>> >> >> > # extend_the_interpretation >>> >> >> > "opentheory/theories/list/list.int";; >>> >> >> > val it : unit = () >>> >> >> > # let all= import_article "opentheory/articles/list.art";; >>> >> >> > Exception: >>> >> >> > Failure >>> >> >> > "in article opentheory/articles/list.art at line 467: >>> >> >> > defineConst\nstack = >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >>> >> >> > Term; >>> >> >> > Var; >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >>> >> >> > Var; >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >>> >> >> > Term; >>> >> >> > Term; >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >>> >> >> > \"HOLLight._dest_rec\"; >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; >>> >> >> > [\"A\"]; >>> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; >>> >> >> > \"Data.List.list\"; >>> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; >>> >> >> > Thm]\nnew_constant: >>> >> >> > constant NUMSUM has already been declared". >>> >> >> > >>> >> >> > # let all= import_article "opentheory/articles/sum.art";; >>> >> >> > Exception: >>> >> >> > Failure >>> >> >> > "in article opentheory/articles/sum.art at line 499: >>> >> >> > defineConst\nstack >>> >> >> > = >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >>> >> >> > Term; >>> >> >> > Var; >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >>> >> >> > Var; >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >>> >> >> > Term; >>> >> >> > Term; >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >>> >> >> > \"HOLLight._dest_rec\"; >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >>> >> >> > \"_15483\"; >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >>> >> >> > \"HOLLight._dest_sum\"; >>> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >>> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: >>> >> >> > constant >>> >> >> > NUMSUM >>> >> >> > has already been declared". >>> >> >> > >>> >> >> > >>> >> >> > # extend_the_interpretation >>> >> >> > "opentheory/theories/bool/bool.int";; >>> >> >> > Exception: >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >>> >> >> > directory". >>> >> >> > >>> >> >> > # extend_the_interpretation >>> >> >> > "opentheory/theories/bool/bool.int";; >>> >> >> > Exception: >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >>> >> >> > directory". >>> >> >> > # let all= import_article "opentheory/articles/bool.art";; >>> >> >> > Exception: >>> >> >> > Failure >>> >> >> > "in article opentheory/articles/bool.art at line 89: >>> >> >> > defineConst\nstack >>> >> >> > = >>> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has >>> >> >> > already >>> >> >> > been >>> >> >> > declared". >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > # let all= import_article "opentheory/articles/real.art";; >>> >> >> > Exception: >>> >> >> > Failure >>> >> >> > "in article opentheory/articles/real.art at line 283: >>> >> >> > defineConst\nstack = >>> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; >>> >> >> > Term]]]; >>> >> >> > []; >>> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; \"HOLLight.nadd\"; >>> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; >>> >> >> > \"HOLLight.mk_hreal\"; >>> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >>> >> >> > Const]\nnew_constant: constant is_nadd has already been >>> >> >> > declared". >>> >> >> > >>> >> >> > >>> >> >> > # let all= import_article "opentheory/articles/option.art";; >>> >> >> > Exception: >>> >> >> > Failure >>> >> >> > "in article opentheory/articles/option.art at line 478: >>> >> >> > defineConst\nstack >>> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >>> >> >> > Term; >>> >> >> > Var; >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >>> >> >> > Var; >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >>> >> >> > Term; >>> >> >> > Term; >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >>> >> >> > \"HOLLight._dest_rec\"; >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; >>> >> >> > \"_15483\"; >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; >>> >> >> > \"HOLLight._dest_option\"; >>> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; >>> >> >> > \"is_none\"; >>> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant >>> >> >> > NUMSUM >>> >> >> > has >>> >> >> > already been declared". >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > So far I have only the three ones you showed in previous email >>> >> >> > working. >>> >> >> > : >>> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" >>> >> >> > >>> >> >> > I wonder how I should load the rest. >>> >> >> > >>> >> >> > Thanks a lot. >>> >> >> > -- >>> >> >> > >>> >> >> > Regards, >>> >> >> > Robert White (Shuai Wang) >>> >> >> > INRIA Deducteam >>> >> >> > [Moving to ILLC of UvA from this Sep. ] >>> >> >> > [New email address will be shuai.wang at student.uva.nl] >>> >> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > >>> >> > Regards, >>> >> > Robert White (Shuai Wang) >>> >> > INRIA Deducteam >>> >> > [Moving to ILLC of UvA from this Sep. ] >>> >> > [New email address will be shuai.wang at student.uva.nl] >>> >> > >>> > >>> > >>> > >>> > >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >>> > [Moving to ILLC of UvA from this Sep. ] >>> > [New email address will be shuai.wang at student.uva.nl] >>> > >> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep. ] >> [New email address will be shuai.wang at student.uva.nl] >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 8 17:30:18 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 19:30:18 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Joe, Thanks. That's what I need for now. Regards, Robert On 8 June 2015 at 19:12, Joe Leslie-Hurd wrote: > Hi Robert, > > This is every theorem th from basics.ml to realax.ml for which there was > a call > > export_thm th;; > > which means that the theorem is part of the standard theory library. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 9:50 AM, Robert White > wrote: > > Hello again. > > > > One more question: > > > > These are the thms exported as a result of loading hol.ml? > > > > So am I right to say that these are the thms from basics.ml to relax.ml > > (according to the order in hol.ml)? > > > > Thanks. > > > > Regards, > > Robert > > > > > > On 8 June 2015 at 18:47, Robert White > wrote: > >> > >> Dear Joe, > >> > >> Thanks very much! > >> > >> It is really helpful. > >> > >> Thanks a lot for your help :) > >> > >> Regards, > >> Robert > >> > >> On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: > >>> > >>> Hi Robert, > >>> > >>> If you do a pull I've added a function that will list every exported > >>> theorem, so you can do: > >>> > >>> #use "hol.ml";; > >>> Export.list_the_exported_thms ();; > >>> > >>> Please let me know if that gives you what you need. > >>> > >>> Cheers, > >>> > >>> Joe > >>> > >>> On Mon, Jun 8, 2015 at 8:50 AM, Robert White > >>> wrote: > >>> > Dear Joe, > >>> > > >>> > I need to do some checking and proofs of these proofs. so Logically > >>> > using > >>> > these proofs directly is a good thing but I can't find a "list" I can > >>> > simply > >>> > use. So I was trying to load from the .art files. > >>> > > >>> > Do you know if there is any way to get a list of these thms? If so > then > >>> > the > >>> > problem is solved. > >>> > > >>> > Thanks > >>> > Robert > >>> > > >>> > > >>> > > >>> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: > >>> >> > >>> >> Hi Robert, > >>> >> > >>> >> Did you have a specific reason for wanting to load the standard > theory > >>> >> library into HOL Light? You could regard this as already being > loaded > >>> >> when you execute > >>> >> > >>> >> #use "hol.ml";; > >>> >> > >>> >> It would be possible to reload articles from the standard theory > into > >>> >> HOL Light with some changes to import.ml, but right now I can't > see a > >>> >> use-case for it. > >>> >> > >>> >> Cheers, > >>> >> > >>> >> Joe > >>> >> > >>> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White > >>> >> wrote: > >>> >> > Dear Joe, > >>> >> > > >>> >> > Okay, looks I have no way to load the others for now then. > >>> >> > I will just play with these three first. > >>> >> > > >>> >> > Thanks again for your advice. > >>> >> > > >>> >> > Regards, > >>> >> > Rob > >>> >> > > >>> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: > >>> >> >> > >>> >> >> Hi Robert, > >>> >> >> > >>> >> >> The theories that are causing you errors are part of the standard > >>> >> >> theory library: > >>> >> >> > >>> >> >> $ opentheory list 'Includes base' > >>> >> >> bool-1.36 > >>> >> >> function-1.55 > >>> >> >> list-1.103 > >>> >> >> natural-1.104 > >>> >> >> option-1.72 > >>> >> >> pair-1.27 > >>> >> >> real-1.61 > >>> >> >> relation-1.60 > >>> >> >> set-1.71 > >>> >> >> sum-1.61 > >>> >> >> unit-1.20 > >>> >> >> > >>> >> >> Since HOL Light already implements the standard theory library, > >>> >> >> trying > >>> >> >> to reload it will generate errors about defining symbols, as you > >>> >> >> have > >>> >> >> experienced. > >>> >> >> > >>> >> >> My advice is to focus on theories that are not part of the > standard > >>> >> >> theory library, the easiest to obtain being those on the > OpenTheory > >>> >> >> repo: > >>> >> >> > >>> >> >> http://opentheory.gilith.com/packages/ > >>> >> >> > >>> >> >> Cheers, > >>> >> >> > >>> >> >> Joe > >>> >> >> > >>> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White > >>> >> >> wrote: > >>> >> >> > Dear Joe, > >>> >> >> > > >>> >> >> > Hello. I have the following errors: > >>> >> >> > > >>> >> >> > # extend_the_interpretation > >>> >> >> > "opentheory/theories/list/list.int";; > >>> >> >> > val it : unit = () > >>> >> >> > # let all= import_article "opentheory/articles/list.art";; > >>> >> >> > Exception: > >>> >> >> > Failure > >>> >> >> > "in article opentheory/articles/list.art at line 467: > >>> >> >> > defineConst\nstack = > >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; > >>> >> >> > Term; > >>> >> >> > Var; > >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; > >>> >> >> > Var; > >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >>> >> >> > Term; > >>> >> >> > Term; > >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >>> >> >> > \"HOLLight._dest_rec\"; > >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; > >>> >> >> > [\"A\"]; > >>> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; > >>> >> >> > \"Data.List.list\"; > >>> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; > >>> >> >> > Thm]\nnew_constant: > >>> >> >> > constant NUMSUM has already been declared". > >>> >> >> > > >>> >> >> > # let all= import_article "opentheory/articles/sum.art";; > >>> >> >> > Exception: > >>> >> >> > Failure > >>> >> >> > "in article opentheory/articles/sum.art at line 499: > >>> >> >> > defineConst\nstack > >>> >> >> > = > >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; > >>> >> >> > Term; > >>> >> >> > Var; > >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; > >>> >> >> > Var; > >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >>> >> >> > Term; > >>> >> >> > Term; > >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >>> >> >> > \"HOLLight._dest_rec\"; > >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >>> >> >> > \"_15483\"; > >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; > >>> >> >> > \"HOLLight._dest_sum\"; > >>> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > >>> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: > >>> >> >> > constant > >>> >> >> > NUMSUM > >>> >> >> > has already been declared". > >>> >> >> > > >>> >> >> > > >>> >> >> > # extend_the_interpretation > >>> >> >> > "opentheory/theories/bool/bool.int";; > >>> >> >> > Exception: > >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >>> >> >> > directory". > >>> >> >> > > >>> >> >> > # extend_the_interpretation > >>> >> >> > "opentheory/theories/bool/bool.int";; > >>> >> >> > Exception: > >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or > >>> >> >> > directory". > >>> >> >> > # let all= import_article "opentheory/articles/bool.art";; > >>> >> >> > Exception: > >>> >> >> > Failure > >>> >> >> > "in article opentheory/articles/bool.art at line 89: > >>> >> >> > defineConst\nstack > >>> >> >> > = > >>> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has > >>> >> >> > already > >>> >> >> > been > >>> >> >> > declared". > >>> >> >> > > >>> >> >> > > >>> >> >> > > >>> >> >> > # let all= import_article "opentheory/articles/real.art";; > >>> >> >> > Exception: > >>> >> >> > Failure > >>> >> >> > "in article opentheory/articles/real.art at line 283: > >>> >> >> > defineConst\nstack = > >>> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; > >>> >> >> > Term]]]; > >>> >> >> > []; > >>> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; > \"HOLLight.nadd\"; > >>> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; > >>> >> >> > \"HOLLight.mk_hreal\"; > >>> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > >>> >> >> > Const]\nnew_constant: constant is_nadd has already been > >>> >> >> > declared". > >>> >> >> > > >>> >> >> > > >>> >> >> > # let all= import_article "opentheory/articles/option.art";; > >>> >> >> > Exception: > >>> >> >> > Failure > >>> >> >> > "in article opentheory/articles/option.art at line 478: > >>> >> >> > defineConst\nstack > >>> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; > >>> >> >> > Term; > >>> >> >> > Var; > >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; > >>> >> >> > Var; > >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >>> >> >> > Term; > >>> >> >> > Term; > >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >>> >> >> > \"HOLLight._dest_rec\"; > >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; TypeOp; > >>> >> >> > \"_15483\"; > >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; > >>> >> >> > \"HOLLight._dest_option\"; > >>> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; > >>> >> >> > \"is_none\"; > >>> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant > >>> >> >> > NUMSUM > >>> >> >> > has > >>> >> >> > already been declared". > >>> >> >> > > >>> >> >> > > >>> >> >> > > >>> >> >> > So far I have only the three ones you showed in previous email > >>> >> >> > working. > >>> >> >> > : > >>> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" > >>> >> >> > > >>> >> >> > I wonder how I should load the rest. > >>> >> >> > > >>> >> >> > Thanks a lot. > >>> >> >> > -- > >>> >> >> > > >>> >> >> > Regards, > >>> >> >> > Robert White (Shuai Wang) > >>> >> >> > INRIA Deducteam > >>> >> >> > [Moving to ILLC of UvA from this Sep. ] > >>> >> >> > [New email address will be shuai.wang at student.uva.nl] > >>> >> >> > > >>> >> > > >>> >> > > >>> >> > > >>> >> > > >>> >> > -- > >>> >> > > >>> >> > Regards, > >>> >> > Robert White (Shuai Wang) > >>> >> > INRIA Deducteam > >>> >> > [Moving to ILLC of UvA from this Sep. ] > >>> >> > [New email address will be shuai.wang at student.uva.nl] > >>> >> > > >>> > > >>> > > >>> > > >>> > > >>> > -- > >>> > > >>> > Regards, > >>> > Robert White (Shuai Wang) > >>> > INRIA Deducteam > >>> > [Moving to ILLC of UvA from this Sep. ] > >>> > [New email address will be shuai.wang at student.uva.nl] > >>> > > >> > >> > >> > >> > >> -- > >> > >> Regards, > >> Robert White (Shuai Wang) > >> INRIA Deducteam > >> [Moving to ILLC of UvA from this Sep. ] > >> [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 18:46:04 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 11:46:04 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, Your question on hol-info boils down to the following: is every theorem in the standard theory library included from basics.ml to realax.ml? And I think right now the answer is no, but I'll work on fixing that. Cheers, Joe On Mon, Jun 8, 2015 at 10:30 AM, Robert White wrote: > Hi Joe, > > Thanks. That's what I need for now. > > Regards, > Robert > > On 8 June 2015 at 19:12, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> This is every theorem th from basics.ml to realax.ml for which there was a >> call >> >> export_thm th;; >> >> which means that the theorem is part of the standard theory library. >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 9:50 AM, Robert White >> wrote: >> > Hello again. >> > >> > One more question: >> > >> > These are the thms exported as a result of loading hol.ml? >> > >> > So am I right to say that these are the thms from basics.ml to relax.ml >> > (according to the order in hol.ml)? >> > >> > Thanks. >> > >> > Regards, >> > Robert >> > >> > >> > On 8 June 2015 at 18:47, Robert White >> > wrote: >> >> >> >> Dear Joe, >> >> >> >> Thanks very much! >> >> >> >> It is really helpful. >> >> >> >> Thanks a lot for your help :) >> >> >> >> Regards, >> >> Robert >> >> >> >> On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: >> >>> >> >>> Hi Robert, >> >>> >> >>> If you do a pull I've added a function that will list every exported >> >>> theorem, so you can do: >> >>> >> >>> #use "hol.ml";; >> >>> Export.list_the_exported_thms ();; >> >>> >> >>> Please let me know if that gives you what you need. >> >>> >> >>> Cheers, >> >>> >> >>> Joe >> >>> >> >>> On Mon, Jun 8, 2015 at 8:50 AM, Robert White >> >>> wrote: >> >>> > Dear Joe, >> >>> > >> >>> > I need to do some checking and proofs of these proofs. so Logically >> >>> > using >> >>> > these proofs directly is a good thing but I can't find a "list" I >> >>> > can >> >>> > simply >> >>> > use. So I was trying to load from the .art files. >> >>> > >> >>> > Do you know if there is any way to get a list of these thms? If so >> >>> > then >> >>> > the >> >>> > problem is solved. >> >>> > >> >>> > Thanks >> >>> > Robert >> >>> > >> >>> > >> >>> > >> >>> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: >> >>> >> >> >>> >> Hi Robert, >> >>> >> >> >>> >> Did you have a specific reason for wanting to load the standard >> >>> >> theory >> >>> >> library into HOL Light? You could regard this as already being >> >>> >> loaded >> >>> >> when you execute >> >>> >> >> >>> >> #use "hol.ml";; >> >>> >> >> >>> >> It would be possible to reload articles from the standard theory >> >>> >> into >> >>> >> HOL Light with some changes to import.ml, but right now I can't see >> >>> >> a >> >>> >> use-case for it. >> >>> >> >> >>> >> Cheers, >> >>> >> >> >>> >> Joe >> >>> >> >> >>> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White >> >>> >> wrote: >> >>> >> > Dear Joe, >> >>> >> > >> >>> >> > Okay, looks I have no way to load the others for now then. >> >>> >> > I will just play with these three first. >> >>> >> > >> >>> >> > Thanks again for your advice. >> >>> >> > >> >>> >> > Regards, >> >>> >> > Rob >> >>> >> > >> >>> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd wrote: >> >>> >> >> >> >>> >> >> Hi Robert, >> >>> >> >> >> >>> >> >> The theories that are causing you errors are part of the >> >>> >> >> standard >> >>> >> >> theory library: >> >>> >> >> >> >>> >> >> $ opentheory list 'Includes base' >> >>> >> >> bool-1.36 >> >>> >> >> function-1.55 >> >>> >> >> list-1.103 >> >>> >> >> natural-1.104 >> >>> >> >> option-1.72 >> >>> >> >> pair-1.27 >> >>> >> >> real-1.61 >> >>> >> >> relation-1.60 >> >>> >> >> set-1.71 >> >>> >> >> sum-1.61 >> >>> >> >> unit-1.20 >> >>> >> >> >> >>> >> >> Since HOL Light already implements the standard theory library, >> >>> >> >> trying >> >>> >> >> to reload it will generate errors about defining symbols, as you >> >>> >> >> have >> >>> >> >> experienced. >> >>> >> >> >> >>> >> >> My advice is to focus on theories that are not part of the >> >>> >> >> standard >> >>> >> >> theory library, the easiest to obtain being those on the >> >>> >> >> OpenTheory >> >>> >> >> repo: >> >>> >> >> >> >>> >> >> http://opentheory.gilith.com/packages/ >> >>> >> >> >> >>> >> >> Cheers, >> >>> >> >> >> >>> >> >> Joe >> >>> >> >> >> >>> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >> >>> >> >> wrote: >> >>> >> >> > Dear Joe, >> >>> >> >> > >> >>> >> >> > Hello. I have the following errors: >> >>> >> >> > >> >>> >> >> > # extend_the_interpretation >> >>> >> >> > "opentheory/theories/list/list.int";; >> >>> >> >> > val it : unit = () >> >>> >> >> > # let all= import_article "opentheory/articles/list.art";; >> >>> >> >> > Exception: >> >>> >> >> > Failure >> >>> >> >> > "in article opentheory/articles/list.art at line 467: >> >>> >> >> > defineConst\nstack = >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >> >>> >> >> > Term; >> >>> >> >> > Var; >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> >>> >> >> > Var; >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >> >>> >> >> > Term; >> >>> >> >> > Term; >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >>> >> >> > \"HOLLight._dest_rec\"; >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; >> >>> >> >> > [\"A\"]; >> >>> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; >> >>> >> >> > \"Data.List.list\"; >> >>> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; >> >>> >> >> > Thm]\nnew_constant: >> >>> >> >> > constant NUMSUM has already been declared". >> >>> >> >> > >> >>> >> >> > # let all= import_article "opentheory/articles/sum.art";; >> >>> >> >> > Exception: >> >>> >> >> > Failure >> >>> >> >> > "in article opentheory/articles/sum.art at line 499: >> >>> >> >> > defineConst\nstack >> >>> >> >> > = >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; Var; >> >>> >> >> > Term; >> >>> >> >> > Var; >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> >>> >> >> > Var; >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >> >>> >> >> > Term; >> >>> >> >> > Term; >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >>> >> >> > \"HOLLight._dest_rec\"; >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; >> >>> >> >> > TypeOp; >> >>> >> >> > \"_15483\"; >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >> >>> >> >> > \"HOLLight._dest_sum\"; >> >>> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >> >>> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: >> >>> >> >> > constant >> >>> >> >> > NUMSUM >> >>> >> >> > has already been declared". >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > # extend_the_interpretation >> >>> >> >> > "opentheory/theories/bool/bool.int";; >> >>> >> >> > Exception: >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >>> >> >> > directory". >> >>> >> >> > >> >>> >> >> > # extend_the_interpretation >> >>> >> >> > "opentheory/theories/bool/bool.int";; >> >>> >> >> > Exception: >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file or >> >>> >> >> > directory". >> >>> >> >> > # let all= import_article "opentheory/articles/bool.art";; >> >>> >> >> > Exception: >> >>> >> >> > Failure >> >>> >> >> > "in article opentheory/articles/bool.art at line 89: >> >>> >> >> > defineConst\nstack >> >>> >> >> > = >> >>> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has >> >>> >> >> > already >> >>> >> >> > been >> >>> >> >> > declared". >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > # let all= import_article "opentheory/articles/real.art";; >> >>> >> >> > Exception: >> >>> >> >> > Failure >> >>> >> >> > "in article opentheory/articles/real.art at line 283: >> >>> >> >> > defineConst\nstack = >> >>> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; [[Var; >> >>> >> >> > Term]]]; >> >>> >> >> > []; >> >>> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; >> >>> >> >> > \"HOLLight.nadd\"; >> >>> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; >> >>> >> >> > \"HOLLight.mk_hreal\"; >> >>> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >> >>> >> >> > Const]\nnew_constant: constant is_nadd has already been >> >>> >> >> > declared". >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > # let all= import_article "opentheory/articles/option.art";; >> >>> >> >> > Exception: >> >>> >> >> > Failure >> >>> >> >> > "in article opentheory/articles/option.art at line 478: >> >>> >> >> > defineConst\nstack >> >>> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; >> >>> >> >> > Var; >> >>> >> >> > Term; >> >>> >> >> > Var; >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; Var; >> >>> >> >> > Var; >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; >> >>> >> >> > Term; >> >>> >> >> > Term; >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >>> >> >> > \"HOLLight._dest_rec\"; >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; >> >>> >> >> > TypeOp; >> >>> >> >> > \"_15483\"; >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; >> >>> >> >> > \"HOLLight._dest_option\"; >> >>> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; TypeOp; >> >>> >> >> > \"is_none\"; >> >>> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: constant >> >>> >> >> > NUMSUM >> >>> >> >> > has >> >>> >> >> > already been declared". >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > So far I have only the three ones you showed in previous email >> >>> >> >> > working. >> >>> >> >> > : >> >>> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" >> >>> >> >> > >> >>> >> >> > I wonder how I should load the rest. >> >>> >> >> > >> >>> >> >> > Thanks a lot. >> >>> >> >> > -- >> >>> >> >> > >> >>> >> >> > Regards, >> >>> >> >> > Robert White (Shuai Wang) >> >>> >> >> > INRIA Deducteam >> >>> >> >> > [Moving to ILLC of UvA from this Sep. ] >> >>> >> >> > [New email address will be shuai.wang at student.uva.nl] >> >>> >> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > -- >> >>> >> > >> >>> >> > Regards, >> >>> >> > Robert White (Shuai Wang) >> >>> >> > INRIA Deducteam >> >>> >> > [Moving to ILLC of UvA from this Sep. ] >> >>> >> > [New email address will be shuai.wang at student.uva.nl] >> >>> >> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > >> >>> > Regards, >> >>> > Robert White (Shuai Wang) >> >>> > INRIA Deducteam >> >>> > [Moving to ILLC of UvA from this Sep. ] >> >>> > [New email address will be shuai.wang at student.uva.nl] >> >>> > >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> Regards, >> >> Robert White (Shuai Wang) >> >> INRIA Deducteam >> >> [Moving to ILLC of UvA from this Sep. ] >> >> [New email address will be shuai.wang at student.uva.nl] >> >> >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 8 18:57:48 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 20:57:48 +0200 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: So thanks a lot in advance. It would be nice to see all of them got included. Cheers Robert On 8 June 2015 at 20:46, Joe Leslie-Hurd wrote: > Hi Robert, > > Your question on hol-info boils down to the following: is every > theorem in the standard theory library included from basics.ml to > realax.ml? > > And I think right now the answer is no, but I'll work on fixing that. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 10:30 AM, Robert White > wrote: > > Hi Joe, > > > > Thanks. That's what I need for now. > > > > Regards, > > Robert > > > > On 8 June 2015 at 19:12, Joe Leslie-Hurd wrote: > >> > >> Hi Robert, > >> > >> This is every theorem th from basics.ml to realax.ml for which there > was a > >> call > >> > >> export_thm th;; > >> > >> which means that the theorem is part of the standard theory library. > >> > >> Cheers, > >> > >> Joe > >> > >> On Mon, Jun 8, 2015 at 9:50 AM, Robert White > >> wrote: > >> > Hello again. > >> > > >> > One more question: > >> > > >> > These are the thms exported as a result of loading hol.ml? > >> > > >> > So am I right to say that these are the thms from basics.ml to > relax.ml > >> > (according to the order in hol.ml)? > >> > > >> > Thanks. > >> > > >> > Regards, > >> > Robert > >> > > >> > > >> > On 8 June 2015 at 18:47, Robert White > >> > wrote: > >> >> > >> >> Dear Joe, > >> >> > >> >> Thanks very much! > >> >> > >> >> It is really helpful. > >> >> > >> >> Thanks a lot for your help :) > >> >> > >> >> Regards, > >> >> Robert > >> >> > >> >> On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: > >> >>> > >> >>> Hi Robert, > >> >>> > >> >>> If you do a pull I've added a function that will list every exported > >> >>> theorem, so you can do: > >> >>> > >> >>> #use "hol.ml";; > >> >>> Export.list_the_exported_thms ();; > >> >>> > >> >>> Please let me know if that gives you what you need. > >> >>> > >> >>> Cheers, > >> >>> > >> >>> Joe > >> >>> > >> >>> On Mon, Jun 8, 2015 at 8:50 AM, Robert White > >> >>> wrote: > >> >>> > Dear Joe, > >> >>> > > >> >>> > I need to do some checking and proofs of these proofs. so > Logically > >> >>> > using > >> >>> > these proofs directly is a good thing but I can't find a "list" I > >> >>> > can > >> >>> > simply > >> >>> > use. So I was trying to load from the .art files. > >> >>> > > >> >>> > Do you know if there is any way to get a list of these thms? If so > >> >>> > then > >> >>> > the > >> >>> > problem is solved. > >> >>> > > >> >>> > Thanks > >> >>> > Robert > >> >>> > > >> >>> > > >> >>> > > >> >>> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: > >> >>> >> > >> >>> >> Hi Robert, > >> >>> >> > >> >>> >> Did you have a specific reason for wanting to load the standard > >> >>> >> theory > >> >>> >> library into HOL Light? You could regard this as already being > >> >>> >> loaded > >> >>> >> when you execute > >> >>> >> > >> >>> >> #use "hol.ml";; > >> >>> >> > >> >>> >> It would be possible to reload articles from the standard theory > >> >>> >> into > >> >>> >> HOL Light with some changes to import.ml, but right now I can't > see > >> >>> >> a > >> >>> >> use-case for it. > >> >>> >> > >> >>> >> Cheers, > >> >>> >> > >> >>> >> Joe > >> >>> >> > >> >>> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White > >> >>> >> wrote: > >> >>> >> > Dear Joe, > >> >>> >> > > >> >>> >> > Okay, looks I have no way to load the others for now then. > >> >>> >> > I will just play with these three first. > >> >>> >> > > >> >>> >> > Thanks again for your advice. > >> >>> >> > > >> >>> >> > Regards, > >> >>> >> > Rob > >> >>> >> > > >> >>> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd > wrote: > >> >>> >> >> > >> >>> >> >> Hi Robert, > >> >>> >> >> > >> >>> >> >> The theories that are causing you errors are part of the > >> >>> >> >> standard > >> >>> >> >> theory library: > >> >>> >> >> > >> >>> >> >> $ opentheory list 'Includes base' > >> >>> >> >> bool-1.36 > >> >>> >> >> function-1.55 > >> >>> >> >> list-1.103 > >> >>> >> >> natural-1.104 > >> >>> >> >> option-1.72 > >> >>> >> >> pair-1.27 > >> >>> >> >> real-1.61 > >> >>> >> >> relation-1.60 > >> >>> >> >> set-1.71 > >> >>> >> >> sum-1.61 > >> >>> >> >> unit-1.20 > >> >>> >> >> > >> >>> >> >> Since HOL Light already implements the standard theory > library, > >> >>> >> >> trying > >> >>> >> >> to reload it will generate errors about defining symbols, as > you > >> >>> >> >> have > >> >>> >> >> experienced. > >> >>> >> >> > >> >>> >> >> My advice is to focus on theories that are not part of the > >> >>> >> >> standard > >> >>> >> >> theory library, the easiest to obtain being those on the > >> >>> >> >> OpenTheory > >> >>> >> >> repo: > >> >>> >> >> > >> >>> >> >> http://opentheory.gilith.com/packages/ > >> >>> >> >> > >> >>> >> >> Cheers, > >> >>> >> >> > >> >>> >> >> Joe > >> >>> >> >> > >> >>> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White > >> >>> >> >> wrote: > >> >>> >> >> > Dear Joe, > >> >>> >> >> > > >> >>> >> >> > Hello. I have the following errors: > >> >>> >> >> > > >> >>> >> >> > # extend_the_interpretation > >> >>> >> >> > "opentheory/theories/list/list.int";; > >> >>> >> >> > val it : unit = () > >> >>> >> >> > # let all= import_article "opentheory/articles/list.art";; > >> >>> >> >> > Exception: > >> >>> >> >> > Failure > >> >>> >> >> > "in article opentheory/articles/list.art at line 467: > >> >>> >> >> > defineConst\nstack = > >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; > Var; > >> >>> >> >> > Term; > >> >>> >> >> > Var; > >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; > Var; > >> >>> >> >> > Var; > >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >> >>> >> >> > Term; > >> >>> >> >> > Term; > >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >>> >> >> > \"HOLLight._dest_rec\"; > >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; > >> >>> >> >> > [\"A\"]; > >> >>> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; > >> >>> >> >> > \"Data.List.list\"; > >> >>> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; > >> >>> >> >> > Thm]\nnew_constant: > >> >>> >> >> > constant NUMSUM has already been declared". > >> >>> >> >> > > >> >>> >> >> > # let all= import_article "opentheory/articles/sum.art";; > >> >>> >> >> > Exception: > >> >>> >> >> > Failure > >> >>> >> >> > "in article opentheory/articles/sum.art at line 499: > >> >>> >> >> > defineConst\nstack > >> >>> >> >> > = > >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; > Var; > >> >>> >> >> > Term; > >> >>> >> >> > Var; > >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; > Var; > >> >>> >> >> > Var; > >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >> >>> >> >> > Term; > >> >>> >> >> > Term; > >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >>> >> >> > \"HOLLight._dest_rec\"; > >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; > >> >>> >> >> > TypeOp; > >> >>> >> >> > \"_15483\"; > >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; > >> >>> >> >> > \"HOLLight._dest_sum\"; > >> >>> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; > >> >>> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: > >> >>> >> >> > constant > >> >>> >> >> > NUMSUM > >> >>> >> >> > has already been declared". > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > # extend_the_interpretation > >> >>> >> >> > "opentheory/theories/bool/bool.int";; > >> >>> >> >> > Exception: > >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file > or > >> >>> >> >> > directory". > >> >>> >> >> > > >> >>> >> >> > # extend_the_interpretation > >> >>> >> >> > "opentheory/theories/bool/bool.int";; > >> >>> >> >> > Exception: > >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file > or > >> >>> >> >> > directory". > >> >>> >> >> > # let all= import_article "opentheory/articles/bool.art";; > >> >>> >> >> > Exception: > >> >>> >> >> > Failure > >> >>> >> >> > "in article opentheory/articles/bool.art at line 89: > >> >>> >> >> > defineConst\nstack > >> >>> >> >> > = > >> >>> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has > >> >>> >> >> > already > >> >>> >> >> > been > >> >>> >> >> > declared". > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > # let all= import_article "opentheory/articles/real.art";; > >> >>> >> >> > Exception: > >> >>> >> >> > Failure > >> >>> >> >> > "in article opentheory/articles/real.art at line 283: > >> >>> >> >> > defineConst\nstack = > >> >>> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; > [[Var; > >> >>> >> >> > Term]]]; > >> >>> >> >> > []; > >> >>> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; > >> >>> >> >> > \"HOLLight.nadd\"; > >> >>> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; > >> >>> >> >> > \"HOLLight.mk_hreal\"; > >> >>> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; > >> >>> >> >> > Const]\nnew_constant: constant is_nadd has already been > >> >>> >> >> > declared". > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > # let all= import_article "opentheory/articles/option.art";; > >> >>> >> >> > Exception: > >> >>> >> >> > Failure > >> >>> >> >> > "in article opentheory/articles/option.art at line 478: > >> >>> >> >> > defineConst\nstack > >> >>> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; > >> >>> >> >> > Var; > >> >>> >> >> > Term; > >> >>> >> >> > Var; > >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; > Var; > >> >>> >> >> > Var; > >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; Var; > >> >>> >> >> > Term; > >> >>> >> >> > Term; > >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; > >> >>> >> >> > \"HOLLight._dest_rec\"; > >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; > >> >>> >> >> > TypeOp; > >> >>> >> >> > \"_15483\"; > >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; > >> >>> >> >> > \"HOLLight._dest_option\"; > >> >>> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; > TypeOp; > >> >>> >> >> > \"is_none\"; > >> >>> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: > constant > >> >>> >> >> > NUMSUM > >> >>> >> >> > has > >> >>> >> >> > already been declared". > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > > >> >>> >> >> > So far I have only the three ones you showed in previous > email > >> >>> >> >> > working. > >> >>> >> >> > : > >> >>> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" > >> >>> >> >> > > >> >>> >> >> > I wonder how I should load the rest. > >> >>> >> >> > > >> >>> >> >> > Thanks a lot. > >> >>> >> >> > -- > >> >>> >> >> > > >> >>> >> >> > Regards, > >> >>> >> >> > Robert White (Shuai Wang) > >> >>> >> >> > INRIA Deducteam > >> >>> >> >> > [Moving to ILLC of UvA from this Sep. ] > >> >>> >> >> > [New email address will be shuai.wang at student.uva.nl] > >> >>> >> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > -- > >> >>> >> > > >> >>> >> > Regards, > >> >>> >> > Robert White (Shuai Wang) > >> >>> >> > INRIA Deducteam > >> >>> >> > [Moving to ILLC of UvA from this Sep. ] > >> >>> >> > [New email address will be shuai.wang at student.uva.nl] > >> >>> >> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > -- > >> >>> > > >> >>> > Regards, > >> >>> > Robert White (Shuai Wang) > >> >>> > INRIA Deducteam > >> >>> > [Moving to ILLC of UvA from this Sep. ] > >> >>> > [New email address will be shuai.wang at student.uva.nl] > >> >>> > > >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> > >> >> Regards, > >> >> Robert White (Shuai Wang) > >> >> INRIA Deducteam > >> >> [Moving to ILLC of UvA from this Sep. ] > >> >> [New email address will be shuai.wang at student.uva.nl] > >> >> > >> > > >> > > >> > > >> > -- > >> > > >> > Regards, > >> > Robert White (Shuai Wang) > >> > INRIA Deducteam > >> > [Moving to ILLC of UvA from this Sep. ] > >> > [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 8 19:27:55 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 8 Jun 2015 21:27:55 +0200 Subject: [opentheory-users] statistics based on opentheory Message-ID: Dear Joe, 1) Is there any function I can call in (OpenTheory's) HOL Light to test which axioms it is based on and how the dependency looks like? (to avoid collecting the result and do analysis from the terminal, which is too painful for a guy with poor eye sight) 2) I wonder what this is stating if I run the following command instead: opentheory info --theory --show-assumptions --show-derivations pair Looks like it is also trying to find out what the dependency is like but this time much more complicated? 2 external type operators: -> bool 10 external constants: = select ! /\ ==> ? \/ ~ F T 20 theorems: {(1) (2) (3) (8) (10) (11) (12) (13) (14) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !x. (fst x, snd x) = x {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !a b. fst (a, b) = a {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !a b. snd (a, b) = b {(1) (8) (10) (11) (12) (14) (26) (27) (33) (35) (36)} |- !x. ?a b. x = (a, b) {(1) (2) (3) (4) (8) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (!x. p x) <=> !a b. p (a, b) {(1) (2) (3) (4) (5) (6) (7) (8) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (?x. p x) <=> ?a b. p (a, b) {(1) (2) (3) (8) (10) (11) (12) (13) (14) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !p. (!a b. p (a, b)) ==> !x. p x {(1) (2) (3) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !p. (!f. p f) <=> !f. p (\a b. f (a, b)) {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !p. (?f. p f) <=> ?f. p (\a b. f (a, b)) {(1) (2) (3) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (45) (46) (47)} |- !f. ?fn. !a b. fn (a, b) = f a b {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (!x y. p x y) <=> !z. p (fst z) (snd z) {(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (?x y. p x y) <=> ?z. p (fst z) (snd z) {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !f. (\x. f x) = \(a, b). f (a, b) {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) (43) (44) (46) (47)} |- !a b a' b'. (a, b) = (a', b') <=> a = a' /\ b = b' {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (!f. p f) <=> !f. p (\(a, b). f a b) {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (?f. p f) <=> ?f. p (\(a, b). f a b) {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (!(a, b). p a b) <=> !a b. p a b {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (?(a, b). p a b) <=> ?a b. p a b {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (!(a, b, c). p a b c) <=> !a b c. p a b c {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} |- !p. (?(a, b, c). p a b c) <=> ?a b c. p a b c Looks confusing without any comments explaining what I got here. Thanks very much! -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 8 20:53:07 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 13:53:07 -0700 Subject: [opentheory-users] statistics based on opentheory In-Reply-To: References: Message-ID: Hi Robert, The central concept in OpenTheory is the theory, which consists of - A set of assumptions - A set of theorems - A proof that the theorems logically derive from the assumptions So to take your second question first, in the output from opentheory info --theory --show-assumptions --show-derivations pair you will see printed a set of assumptions, numbered with (1), (2), etc., followed by a set of theorems of the form { (i) (j) ... (k) } |- theorem which means that the proof of the theorem depended on the numbered assumptions (i) (j) ... (k). And now to answer your first question, the OpenTheory fork of HOL Light is not set up to track proofs back to the 3 axioms, but rather to the most recent theory boundary. However, with just a little bit of hacking we can fix that! Just add the line Export.debug_export_thm_enable := false;; after loads "opentheory/opentheory.ml";; in hol.ml, and then load everything in with #use "hol.ml";; as normal. Now you can use the read_proof function to examine the proofs of theorems all the way back to the axioms: # read_proof EXCLUDED_MIDDLE;; val it : proof = Eq_mp_proof (|- (!t. t \/ ~t) <=> (!t. t \/ ~t), |- !t. t \/ ~t) With the read_proof building block you can write an ocaml function that traverses a proof and extracts the set of axioms it finds, and you will have what you need inside HOL Light. Cheers, Joe On Mon, Jun 8, 2015 at 12:27 PM, Robert White wrote: > Dear Joe, > > 1) Is there any function I can call in (OpenTheory's) HOL Light to test > which axioms it is based on and how the dependency looks like? (to avoid > collecting the result and do analysis from the terminal, which is too > painful for a guy with poor eye sight) > > > 2) I wonder what this is stating if I run the following command instead: > opentheory info --theory --show-assumptions --show-derivations pair > > Looks like it is also trying to find out what the dependency is like but > this time much more complicated? > > 2 external type operators: -> bool > 10 external constants: = select ! /\ ==> ? \/ ~ F T > 20 theorems: > {(1) (2) (3) (8) (10) (11) (12) (13) (14) (15) (16) (17) (20) (21) (22) > (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) > (42) (43) (44) (45) (46) (47)} > |- !x. (fst x, snd x) = x > {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) > (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) > (43) (44) (45) (46) (47)} > |- !a b. fst (a, b) = a > {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) > (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) > (43) (44) (45) (46) (47)} > |- !a b. snd (a, b) = b > {(1) (8) (10) (11) (12) (14) (26) (27) (33) (35) (36)} > |- !x. ?a b. x = (a, b) > {(1) (2) (3) (4) (8) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) > (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) (35) > (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49)} > |- !p. (!x. p x) <=> !a b. p (a, b) > {(1) (2) (3) (4) (5) (6) (7) (8) (10) (11) (12) (13) (14) (15) (16) (17) > (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) > (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) > (48) (49)} > |- !p. (?x. p x) <=> ?a b. p (a, b) > {(1) (2) (3) (8) (10) (11) (12) (13) (14) (15) (16) (17) (20) (21) (22) > (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) > (42) (43) (44) (45) (46) (47)} > |- !p. (!a b. p (a, b)) ==> !x. p x > {(1) (2) (3) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) > (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) > (39) (41) (42) (43) (44) (45) (46) (47)} > |- !p. (!f. p f) <=> !f. p (\a b. f (a, b)) > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) > (22) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) > (38) (39) (41) (42) (43) (44) (45) (46) (47)} > |- !p. (?f. p f) <=> ?f. p (\a b. f (a, b)) > {(1) (2) (3) (8) (9) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) > (25) (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) > (42) (43) (44) (45) (46) (47)} > |- !f. ?fn. !a b. fn (a, b) = f a b > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) (33) (34) > (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) > (49)} > |- !p. (!x y. p x y) <=> !z. p (fst z) (snd z) > {(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) > (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (?x y. p x y) <=> ?z. p (fst z) (snd z) > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !f. (\x. f x) = \(a, b). f (a, b) > {(1) (2) (3) (8) (10) (11) (12) (13) (15) (16) (17) (20) (21) (22) (25) > (26) (27) (28) (31) (32) (33) (34) (35) (36) (37) (38) (39) (41) (42) > (43) (44) (46) (47)} > |- !a b a' b'. (a, b) = (a', b') <=> a = a' /\ b = b' > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (!f. p f) <=> !f. p (\(a, b). f a b) > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (?f. p f) <=> ?f. p (\(a, b). f a b) > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (!(a, b). p a b) <=> !a b. p a b > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (?(a, b). p a b) <=> ?a b. p a b > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (!(a, b, c). p a b c) <=> !a b c. p a b c > {(1) (2) (3) (4) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) > (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) > (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) > (47) (48) (49)} > |- !p. (?(a, b, c). p a b c) <=> ?a b c. p a b c > > Looks confusing without any comments explaining what I got here. > > Thanks very much! > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From joe at gilith.com Tue Jun 9 03:19:38 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 8 Jun 2015 20:19:38 -0700 Subject: [opentheory-users] Error in importing In-Reply-To: References: Message-ID: Hi Robert, In the latest version of the OpenTheory HOL Light fork I think it is the case that hol.ml now loads all the theorems that are exported to the standard theory library: # length (Export.list_the_exported_thms ());; val it : int = 1214 which is the same as the number of theorems in base. Cheers, Joe On Mon, Jun 8, 2015 at 11:57 AM, Robert White wrote: > So thanks a lot in advance. > > It would be nice to see all of them got included. > > Cheers > Robert > > On 8 June 2015 at 20:46, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> Your question on hol-info boils down to the following: is every >> theorem in the standard theory library included from basics.ml to >> realax.ml? >> >> And I think right now the answer is no, but I'll work on fixing that. >> >> Cheers, >> >> Joe >> >> On Mon, Jun 8, 2015 at 10:30 AM, Robert White >> wrote: >> > Hi Joe, >> > >> > Thanks. That's what I need for now. >> > >> > Regards, >> > Robert >> > >> > On 8 June 2015 at 19:12, Joe Leslie-Hurd wrote: >> >> >> >> Hi Robert, >> >> >> >> This is every theorem th from basics.ml to realax.ml for which there >> >> was a >> >> call >> >> >> >> export_thm th;; >> >> >> >> which means that the theorem is part of the standard theory library. >> >> >> >> Cheers, >> >> >> >> Joe >> >> >> >> On Mon, Jun 8, 2015 at 9:50 AM, Robert White >> >> wrote: >> >> > Hello again. >> >> > >> >> > One more question: >> >> > >> >> > These are the thms exported as a result of loading hol.ml? >> >> > >> >> > So am I right to say that these are the thms from basics.ml to >> >> > relax.ml >> >> > (according to the order in hol.ml)? >> >> > >> >> > Thanks. >> >> > >> >> > Regards, >> >> > Robert >> >> > >> >> > >> >> > On 8 June 2015 at 18:47, Robert White >> >> > wrote: >> >> >> >> >> >> Dear Joe, >> >> >> >> >> >> Thanks very much! >> >> >> >> >> >> It is really helpful. >> >> >> >> >> >> Thanks a lot for your help :) >> >> >> >> >> >> Regards, >> >> >> Robert >> >> >> >> >> >> On 8 June 2015 at 18:13, Joe Leslie-Hurd wrote: >> >> >>> >> >> >>> Hi Robert, >> >> >>> >> >> >>> If you do a pull I've added a function that will list every >> >> >>> exported >> >> >>> theorem, so you can do: >> >> >>> >> >> >>> #use "hol.ml";; >> >> >>> Export.list_the_exported_thms ();; >> >> >>> >> >> >>> Please let me know if that gives you what you need. >> >> >>> >> >> >>> Cheers, >> >> >>> >> >> >>> Joe >> >> >>> >> >> >>> On Mon, Jun 8, 2015 at 8:50 AM, Robert White >> >> >>> wrote: >> >> >>> > Dear Joe, >> >> >>> > >> >> >>> > I need to do some checking and proofs of these proofs. so >> >> >>> > Logically >> >> >>> > using >> >> >>> > these proofs directly is a good thing but I can't find a "list" I >> >> >>> > can >> >> >>> > simply >> >> >>> > use. So I was trying to load from the .art files. >> >> >>> > >> >> >>> > Do you know if there is any way to get a list of these thms? If >> >> >>> > so >> >> >>> > then >> >> >>> > the >> >> >>> > problem is solved. >> >> >>> > >> >> >>> > Thanks >> >> >>> > Robert >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > On 8 June 2015 at 17:45, Joe Leslie-Hurd wrote: >> >> >>> >> >> >> >>> >> Hi Robert, >> >> >>> >> >> >> >>> >> Did you have a specific reason for wanting to load the standard >> >> >>> >> theory >> >> >>> >> library into HOL Light? You could regard this as already being >> >> >>> >> loaded >> >> >>> >> when you execute >> >> >>> >> >> >> >>> >> #use "hol.ml";; >> >> >>> >> >> >> >>> >> It would be possible to reload articles from the standard theory >> >> >>> >> into >> >> >>> >> HOL Light with some changes to import.ml, but right now I can't >> >> >>> >> see >> >> >>> >> a >> >> >>> >> use-case for it. >> >> >>> >> >> >> >>> >> Cheers, >> >> >>> >> >> >> >>> >> Joe >> >> >>> >> >> >> >>> >> On Mon, Jun 8, 2015 at 8:35 AM, Robert White >> >> >>> >> wrote: >> >> >>> >> > Dear Joe, >> >> >>> >> > >> >> >>> >> > Okay, looks I have no way to load the others for now then. >> >> >>> >> > I will just play with these three first. >> >> >>> >> > >> >> >>> >> > Thanks again for your advice. >> >> >>> >> > >> >> >>> >> > Regards, >> >> >>> >> > Rob >> >> >>> >> > >> >> >>> >> > On 8 June 2015 at 17:27, Joe Leslie-Hurd >> >> >>> >> > wrote: >> >> >>> >> >> >> >> >>> >> >> Hi Robert, >> >> >>> >> >> >> >> >>> >> >> The theories that are causing you errors are part of the >> >> >>> >> >> standard >> >> >>> >> >> theory library: >> >> >>> >> >> >> >> >>> >> >> $ opentheory list 'Includes base' >> >> >>> >> >> bool-1.36 >> >> >>> >> >> function-1.55 >> >> >>> >> >> list-1.103 >> >> >>> >> >> natural-1.104 >> >> >>> >> >> option-1.72 >> >> >>> >> >> pair-1.27 >> >> >>> >> >> real-1.61 >> >> >>> >> >> relation-1.60 >> >> >>> >> >> set-1.71 >> >> >>> >> >> sum-1.61 >> >> >>> >> >> unit-1.20 >> >> >>> >> >> >> >> >>> >> >> Since HOL Light already implements the standard theory >> >> >>> >> >> library, >> >> >>> >> >> trying >> >> >>> >> >> to reload it will generate errors about defining symbols, as >> >> >>> >> >> you >> >> >>> >> >> have >> >> >>> >> >> experienced. >> >> >>> >> >> >> >> >>> >> >> My advice is to focus on theories that are not part of the >> >> >>> >> >> standard >> >> >>> >> >> theory library, the easiest to obtain being those on the >> >> >>> >> >> OpenTheory >> >> >>> >> >> repo: >> >> >>> >> >> >> >> >>> >> >> http://opentheory.gilith.com/packages/ >> >> >>> >> >> >> >> >>> >> >> Cheers, >> >> >>> >> >> >> >> >>> >> >> Joe >> >> >>> >> >> >> >> >>> >> >> On Mon, Jun 8, 2015 at 4:34 AM, Robert White >> >> >>> >> >> wrote: >> >> >>> >> >> > Dear Joe, >> >> >>> >> >> > >> >> >>> >> >> > Hello. I have the following errors: >> >> >>> >> >> > >> >> >>> >> >> > # extend_the_interpretation >> >> >>> >> >> > "opentheory/theories/list/list.int";; >> >> >>> >> >> > val it : unit = () >> >> >>> >> >> > # let all= import_article "opentheory/articles/list.art";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Failure >> >> >>> >> >> > "in article opentheory/articles/list.art at line 467: >> >> >>> >> >> > defineConst\nstack = >> >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >>> >> >> > \"HOLLight._dest_rec\"; >> >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; \"a1\"; Var; >> >> >>> >> >> > [\"A\"]; >> >> >>> >> >> > \"HOLLight._dest_list\"; \"HOLLight._mk_list\"; >> >> >>> >> >> > \"Data.List.list\"; >> >> >>> >> >> > TypeOp; \"NULL\"; \"Data.List.null\"; Var; []; >> >> >>> >> >> > Thm]\nnew_constant: >> >> >>> >> >> > constant NUMSUM has already been declared". >> >> >>> >> >> > >> >> >>> >> >> > # let all= import_article "opentheory/articles/sum.art";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Failure >> >> >>> >> >> > "in article opentheory/articles/sum.art at line 499: >> >> >>> >> >> > defineConst\nstack >> >> >>> >> >> > = >> >> >>> >> >> > [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >>> >> >> > \"HOLLight._dest_rec\"; >> >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; >> >> >>> >> >> > TypeOp; >> >> >>> >> >> > \"_15483\"; >> >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"; \"B\"]; >> >> >>> >> >> > \"HOLLight._dest_sum\"; >> >> >>> >> >> > \"HOLLight._mk_sum\"; \"Data.Sum.+\"; TypeOp; \"ISL\"; >> >> >>> >> >> > \"Data.Sum.isLeft\"; Var; []; Var; Thm; Thm]\nnew_constant: >> >> >>> >> >> > constant >> >> >>> >> >> > NUMSUM >> >> >>> >> >> > has already been declared". >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > # extend_the_interpretation >> >> >>> >> >> > "opentheory/theories/bool/bool.int";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file >> >> >>> >> >> > or >> >> >>> >> >> > directory". >> >> >>> >> >> > >> >> >>> >> >> > # extend_the_interpretation >> >> >>> >> >> > "opentheory/theories/bool/bool.int";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Sys_error "opentheory/theories/bool/bool.int: No such file >> >> >>> >> >> > or >> >> >>> >> >> > directory". >> >> >>> >> >> > # let all= import_article "opentheory/articles/bool.art";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Failure >> >> >>> >> >> > "in article opentheory/articles/bool.art at line 89: >> >> >>> >> >> > defineConst\nstack >> >> >>> >> >> > = >> >> >>> >> >> > [Term; \"Data.Bool.T\"; Thm]\nnew_constant: constant T has >> >> >>> >> >> > already >> >> >>> >> >> > been >> >> >>> >> >> > declared". >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > # let all= import_article "opentheory/articles/real.art";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Failure >> >> >>> >> >> > "in article opentheory/articles/real.art at line 283: >> >> >>> >> >> > defineConst\nstack = >> >> >>> >> >> > [Term; \"HOLLight.is_nadd\"; [[]; [[Var; Term]]]; [[]; >> >> >>> >> >> > [[Var; >> >> >>> >> >> > Term]]]; >> >> >>> >> >> > []; >> >> >>> >> >> > \"HOLLight.dest_nadd\"; \"HOLLight.mk_nadd\"; >> >> >>> >> >> > \"HOLLight.nadd\"; >> >> >>> >> >> > TypeOp; \"s\"; []; \"HOLLight.dest_hreal\"; >> >> >>> >> >> > \"HOLLight.mk_hreal\"; >> >> >>> >> >> > \"HOLLight.hreal\"; TypeOp; TypeOp; TypeOp; >> >> >>> >> >> > Const]\nnew_constant: constant is_nadd has already been >> >> >>> >> >> > declared". >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > # let all= import_article >> >> >>> >> >> > "opentheory/articles/option.art";; >> >> >>> >> >> > Exception: >> >> >>> >> >> > Failure >> >> >>> >> >> > "in article opentheory/articles/option.art at line 478: >> >> >>> >> >> > defineConst\nstack >> >> >>> >> >> > = [Term; \"HOLLight.NUMSUM\"; Term; Term; Term; Var; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; Var; [[\"HOLLight.NUMLEFT\"; Var]]; Term; Var; Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > Var; >> >> >>> >> >> > \"HOLLight.INJP\"; \"HOLLight.ZBOT\"; Term; Term; Term; >> >> >>> >> >> > Var; >> >> >>> >> >> > Term; >> >> >>> >> >> > Term; >> >> >>> >> >> > Var; Term; Var; \"HOLLight.ZRECSPACE\"; [\"A\"]; >> >> >>> >> >> > \"HOLLight._dest_rec\"; >> >> >>> >> >> > \"HOLLight._mk_rec\"; \"HOLLight.recspace\"; Type; >> >> >>> >> >> > TypeOp; >> >> >>> >> >> > \"_15483\"; >> >> >>> >> >> > Var; Var; \"HOLLight.CONSTR\"; Var; [\"A\"]; >> >> >>> >> >> > \"HOLLight._dest_option\"; >> >> >>> >> >> > \"HOLLight._mk_option\"; \"Data.Option.option\"; >> >> >>> >> >> > TypeOp; >> >> >>> >> >> > \"is_none\"; >> >> >>> >> >> > \"Data.Option.isNone\"; Var; []; Thm]\nnew_constant: >> >> >>> >> >> > constant >> >> >>> >> >> > NUMSUM >> >> >>> >> >> > has >> >> >>> >> >> > already been declared". >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > So far I have only the three ones you showed in previous >> >> >>> >> >> > email >> >> >>> >> >> > working. >> >> >>> >> >> > : >> >> >>> >> >> > "natural-divides.art", "stream.art" and "natural-prime.art" >> >> >>> >> >> > >> >> >>> >> >> > I wonder how I should load the rest. >> >> >>> >> >> > >> >> >>> >> >> > Thanks a lot. >> >> >>> >> >> > -- >> >> >>> >> >> > >> >> >>> >> >> > Regards, >> >> >>> >> >> > Robert White (Shuai Wang) >> >> >>> >> >> > INRIA Deducteam >> >> >>> >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> >>> >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> >>> >> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > -- >> >> >>> >> > >> >> >>> >> > Regards, >> >> >>> >> > Robert White (Shuai Wang) >> >> >>> >> > INRIA Deducteam >> >> >>> >> > [Moving to ILLC of UvA from this Sep. ] >> >> >>> >> > [New email address will be shuai.wang at student.uva.nl] >> >> >>> >> > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > -- >> >> >>> > >> >> >>> > Regards, >> >> >>> > Robert White (Shuai Wang) >> >> >>> > INRIA Deducteam >> >> >>> > [Moving to ILLC of UvA from this Sep. ] >> >> >>> > [New email address will be shuai.wang at student.uva.nl] >> >> >>> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> Regards, >> >> >> Robert White (Shuai Wang) >> >> >> INRIA Deducteam >> >> >> [Moving to ILLC of UvA from this Sep. ] >> >> >> [New email address will be shuai.wang at student.uva.nl] >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > >> >> > Regards, >> >> > Robert White (Shuai Wang) >> >> > INRIA Deducteam >> >> > [Moving to ILLC of UvA from this Sep. ] >> >> > [New email address will be shuai.wang at student.uva.nl] >> >> > >> > >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Tue Jun 9 13:23:11 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Tue, 9 Jun 2015 15:23:11 +0200 Subject: [opentheory-users] Question about Lazy-list In-Reply-To: References: Message-ID: Dear Joe and Ramana, It looks like we have a small problem on our side (very hard to notice). Both versions of Holide failed. We are trying to fix this bug. Will let you know how it goes. Thanks Regards, Robert On 8 June 2015 at 18:17, Joe Leslie-Hurd wrote: > It is possibly helpful to note that every prefix of a valid article is > a valid article (as long as you break at a newline), so if you need a > smaller testcase you could delete everything after some newline in > llist.art. > > Cheers, > > Joe > > On Mon, Jun 8, 2015 at 9:13 AM, Robert White > wrote: > > Thanks for the link. > > > >> If the article is accepted by the opentheory tool but not by Dedukti, > >> perhaps there is a problem in Holide or in the Dedukti checker? > > > > I have also been diving into it on my side to see where the problem could > > be. > > > > Thanks for your advice. I will try that. > > > > Regards, > > Robert > > > > On 8 June 2015 at 17:58, Ramana Kumar wrote: > >> > >> Hi Robert, > >> > >> The article was generated following the instructions at > >> http://www.gilith.com/research/opentheory/faq.html#export-from-hol4 > applied > >> to llistScript.sml. > >> > >> If the article is accepted by the opentheory tool but not by Dedukti, > >> perhaps there is a problem in Holide or in the Dedukti checker? > >> > >> For debugging maybe you could try exporting only a part of > llistScript.sml > >> (by deleting the rest). Or even translating only a small part of the > >> generated llist.art to Dedukti. > >> > >> Cheers, > >> Ramana > >> > >> On 8 June 2015 at 16:45, Robert White > >> wrote: > >>> > >>> Dear Ramana, > >>> > >>> I am not sure how to deal with it. Do you have any advice please. I am > >>> not familiar with generating / extracting *.art files. Neither > debugging > >>> though a .art file. > >>> > >>> Thanks > >>> > >>> On 8 June 2015 at 17:36, Ramana Kumar wrote: > >>>> > >>>> The lazy-list package is based on a HOL4 theory of lazy lists, which > can > >>>> be found here: > >>>> https://github.com/HOL-Theorem-Prover/HOL/tree/master/src/llist. > >>>> > >>>> On 8 June 2015 at 16:33, Robert White > >>>> wrote: > >>>>> > >>>>> Thanks Joe, > >>>>> > >>>>> I will wait for further updates then. > >>>>> > >>>>> Regards, > >>>>> Robert > >>>>> > >>>>> On 8 June 2015 at 17:31, Joe Leslie-Hurd wrote: > >>>>>> > >>>>>> Hi Robert, > >>>>>> > >>>>>> In terms of the OpenTheory package, you are correct that lazy-list > is > >>>>>> monolithic: > >>>>>> > >>>>>> $ opentheory info --theory-source lazy-list > >>>>>> main { > >>>>>> article: "llist.art" > >>>>>> } > >>>>>> > >>>>>> However, Ramana may be able to dig up source files for the article > >>>>>> that could be restructured into subpackages. > >>>>>> > >>>>>> Cheers, > >>>>>> > >>>>>> Joe > >>>>>> > >>>>>> On Mon, Jun 8, 2015 at 2:44 AM, Robert White > >>>>>> wrote: > >>>>>> > Dear Joe and Ramana, > >>>>>> > > >>>>>> > I used the new Holide and dedukti for proof checking of the whole > >>>>>> > Opentheory > >>>>>> > repos. There is one good news and one bad news. > >>>>>> > > >>>>>> > The good news is: > >>>>>> > > >>>>>> > I have checked through the whole library of the rest apart from > >>>>>> > lazy-list > >>>>>> > without problems. They all passed the checking. > >>>>>> > > >>>>>> > The bad news is: > >>>>>> > > >>>>>> > lazy-list didn't pass the check. > >>>>>> > > >>>>>> > --------this is the error line by Dedukti > >>>>>> > -------------------------------- > >>>>>> > Processing file 'dedukti/lazy-list.dk'... > >>>>>> > ERROR line:106697 column:149 Cannot find symbol 'lazy_2Dlist.A'. > >>>>>> > > >>>>>> > I searched online and found there isn't sub-packages for me to > check > >>>>>> > individually. I wonder if this one is just as a big whole file or > >>>>>> > maybe I > >>>>>> > can somehow unpack it to different files and check through each > >>>>>> > individually. > >>>>>> > > >>>>>> > Thanks! > >>>>>> > -- > >>>>>> > > >>>>>> > Regards, > >>>>>> > Robert White (Shuai Wang) > >>>>>> > INRIA Deducteam > >>>>>> > [Moving to ILLC of UvA from this Sep. ] > >>>>>> > [New email address will be shuai.wang at student.uva.nl] > >>>>>> > > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> > >>>>> Regards, > >>>>> Robert White (Shuai Wang) > >>>>> INRIA Deducteam > >>>>> [Moving to ILLC of UvA from this Sep. ] > >>>>> [New email address will be shuai.wang at student.uva.nl] > >>>>> > >>>> > >>> > >>> > >>> > >>> -- > >>> > >>> Regards, > >>> Robert White (Shuai Wang) > >>> INRIA Deducteam > >>> [Moving to ILLC of UvA from this Sep. ] > >>> [New email address will be shuai.wang at student.uva.nl] > >>> > >>> > >>> _______________________________________________ > >>> opentheory-users mailing list > >>> opentheory-users at gilith.com > >>> http://www.gilith.com/mailman/listinfo/opentheory-users > >>> > >> > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep. ] > > [New email address will be shuai.wang at student.uva.nl] > > > > > > _______________________________________________ > > opentheory-users mailing list > > opentheory-users at gilith.com > > http://www.gilith.com/mailman/listinfo/opentheory-users > > > > _______________________________________________ > opentheory-users mailing list > opentheory-users at gilith.com > http://www.gilith.com/mailman/listinfo/opentheory-users > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Wed Jun 24 20:31:27 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Wed, 24 Jun 2015 22:31:27 +0200 Subject: [opentheory-users] error loading article files (again?). Message-ID: Dear Joe and all, I am back to the community! I have the following questions and updates for you: 1) I will be finishing my internship in a few weeks and it would be nice of you if you can give me some description of the most recent updates of OpenTheory. 2) I noticed there is a part not imported to Opentheory (in hol.ml) : (* Not yet ported to OpenTheory loads "calc_int.ml";; (* Calculation with integer-valued reals *) loads "realarith.ml";; (* Universal linear real decision procedure *) loads "real.ml";; (* Derived properties of reals *) loads "calc_rat.ml";; (* Calculation with rational-valued reals *) loads "int.ml";; (* Definition of integers *) loads "iterate.ml";; (* Iterated operations *) loads "cart.ml";; (* Finite Cartesian products *) *) Is there any reason why not? Also, there is a database.ml file. Shall I ignore that in OpenTheory HOL? (since it is not complete anyway) 3) I have problem loading article files: # let p = load_proofs "/home/robert/Project/laholide/opentheory/stream.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/stream.art at line 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; \"Data.Stream.replicate\"]\nunknown type operator \"Data.Stream.stream\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/natural-prime.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/natural-prime.art at line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; Term; Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; Thm]\nunknown constant \"Number.Natural.divides\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/natural-divide.art";; Exception: Sys_error "/home/robert/Project/laholide/opentheory/natural-divide.art: No such file or directory". # let p = load_proofs "/home/robert/Project/laholide/opentheory/natural-divides.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/natural-divides.art at line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; []]\nunknown constant \"Number.Natural.divides\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/modular.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/modular.art at line 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; \"Number.Modular.modular\"; TypeOp; TypeOp; Const]\nunknown constant \"Number.Modular.modulus\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/gfp.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/gfp.art at line 54: const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown constant \"Number.GF(p).oddprime\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/natural-fibonacci.art at line 1933: defineConstList\nstack = [Thm; [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; Thm]\nunknown constant \"Number.Natural.Fibonacci.zeckendorf\"". # let p = load_proofs "/home/robert/Project/laholide/opentheory/word.art";; Exception: Failure "in article /home/robert/Project/laholide/opentheory/word.art at line 130: const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; Thm]\nunknown constant \"Data.Word.width\"". # Could you please help on that? It seems I can't even play with the other article files I used to be able to load either :( Thanks very much! -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Wed Jun 24 21:11:32 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Wed, 24 Jun 2015 14:11:32 -0700 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Robert, Welcome back! 1) There hasn't been much development on OpenTheory in recent weeks, just some extensions to the natural-divides theory to support my recent blog post on the extended GCD algorithm: https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ 2) There is no real reason why those HOL Light theories have not been ported to OpenTheory, except that some of them might not be needed to compile a standard theory library (which is a common base of theories that is expected to be implemented in every theorem prover). We do not use the database.ml file which lists all the theorems in the main branch of the HOL Light theorem prover (not the OpenTheory fork). But I've just checked in a version of the fork that creates a theorem database of the standard theory library at the bottom of the hol.ml file, so after loading with #use "hol.ml";; you can search the database like so: # search [`MAX (SUC m) (SUC n)`];; val it : (string * thm) list = [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] 3) It looks like you need to extend_the_interpretation before loading the proofs as described in http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html Cheers, Joe On Wed, Jun 24, 2015 at 1:31 PM, Robert White wrote: > Dear Joe and all, > > I am back to the community! > > I have the following questions and updates for you: > > 1) I will be finishing my internship in a few weeks and it would be nice of > you if you can give me some description of the most recent updates of > OpenTheory. > > 2) > I noticed there is a part not imported to Opentheory (in hol.ml) : > > (* Not yet ported to OpenTheory > loads "calc_int.ml";; (* Calculation with integer-valued reals > *) > loads "realarith.ml";; (* Universal linear real decision procedure > *) > loads "real.ml";; (* Derived properties of reals > *) > loads "calc_rat.ml";; (* Calculation with rational-valued reals > *) > loads "int.ml";; (* Definition of integers > *) > loads "iterate.ml";; (* Iterated operations > *) > loads "cart.ml";; (* Finite Cartesian products > *) > *) > > Is there any reason why not? > > Also, there is a database.ml file. Shall I ignore that in OpenTheory HOL? > (since it is not complete anyway) > > 3) > I have problem loading article files: > > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/stream.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/stream.art at line > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; > \"Data.Stream.replicate\"]\nunknown type operator \"Data.Stream.stream\"". > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/natural-prime.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/natural-prime.art at > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; Term; > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; Thm]\nunknown > constant \"Number.Natural.divides\"". > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/natural-divide.art";; > Exception: > Sys_error > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such file > or directory". > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/natural-divides.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/natural-divides.art at > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; Var; > []]\nunknown constant \"Number.Natural.divides\"". > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/modular.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/modular.art at line > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; > \"Number.Modular.modular\"; TypeOp; TypeOp; Const]\nunknown > constant \"Number.Modular.modulus\"". > # let p = load_proofs "/home/robert/Project/laholide/opentheory/gfp.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/gfp.art at line 54: > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown constant > \"Number.GF(p).oddprime\"". > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/natural-fibonacci.art > at line 1933: defineConstList\nstack = [Thm; > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; Thm]\nunknown > constant \"Number.Natural.Fibonacci.zeckendorf\"". > # let p = load_proofs "/home/robert/Project/laholide/opentheory/word.art";; > Exception: > Failure > "in article /home/robert/Project/laholide/opentheory/word.art at line 130: > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; > Thm]\nunknown constant \"Data.Word.width\"". > # > > Could you please help on that? It seems I can't even play with the other > article files I used to be able to load either :( > > Thanks very much! > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Thu Jun 25 10:06:29 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Thu, 25 Jun 2015 12:06:29 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Joe, Thanks for the reply. 2) So maybe I can try to export them? Cos the more thms I get is better for my tests. but I got more thms when I do this search. Why is that (So far we should have 1214 right? 1214 are those only exported but 1670 are all of them (so far))? # List.length (search []) ;; val it : int = 1670 On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: > Hi Robert, > > Welcome back! > > 1) There hasn't been much development on OpenTheory in recent weeks, > just some extensions to the natural-divides theory to support my > recent blog post on the extended GCD algorithm: > > > https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ > > 2) There is no real reason why those HOL Light theories have not been > ported to OpenTheory, except that some of them might not be needed to > compile a standard theory library (which is a common base of theories > that is expected to be implemented in every theorem prover). > > We do not use the database.ml file which lists all the theorems in the > main branch of the HOL Light theorem prover (not the OpenTheory fork). > But I've just checked in a version of the fork that creates a theorem > database of the standard theory library at the bottom of the hol.ml > file, so after loading with #use "hol.ml";; you can search the > database like so: > > # search [`MAX (SUC m) (SUC n)`];; > val it : (string * thm) list = > [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] > > 3) It looks like you need to extend_the_interpretation before loading > the proofs as described in > > http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html > > Cheers, > > Joe > > On Wed, Jun 24, 2015 at 1:31 PM, Robert White > wrote: > > Dear Joe and all, > > > > I am back to the community! > > > > I have the following questions and updates for you: > > > > 1) I will be finishing my internship in a few weeks and it would be nice > of > > you if you can give me some description of the most recent updates of > > OpenTheory. > > > > 2) > > I noticed there is a part not imported to Opentheory (in hol.ml) : > > > > (* Not yet ported to OpenTheory > > loads "calc_int.ml";; (* Calculation with integer-valued reals > > *) > > loads "realarith.ml";; (* Universal linear real decision procedure > > *) > > loads "real.ml";; (* Derived properties of reals > > *) > > loads "calc_rat.ml";; (* Calculation with rational-valued reals > > *) > > loads "int.ml";; (* Definition of integers > > *) > > loads "iterate.ml";; (* Iterated operations > > *) > > loads "cart.ml";; (* Finite Cartesian products > > *) > > *) > > > > Is there any reason why not? > > > > Also, there is a database.ml file. Shall I ignore that in OpenTheory > HOL? > > (since it is not complete anyway) > > > > 3) > > I have problem loading article files: > > > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/stream.art";; > > Exception: > > Failure > > "in article /home/robert/Project/laholide/opentheory/stream.art at line > > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; > > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; > > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; > > \"Data.Stream.replicate\"]\nunknown type operator > \"Data.Stream.stream\"". > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/natural-prime.art";; > > Exception: > > Failure > > "in article /home/robert/Project/laholide/opentheory/natural-prime.art > at > > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; > Term; > > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; > Thm]\nunknown > > constant \"Number.Natural.divides\"". > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/natural-divide.art";; > > Exception: > > Sys_error > > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such > file > > or directory". > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/natural-divides.art";; > > Exception: > > Failure > > "in article > /home/robert/Project/laholide/opentheory/natural-divides.art at > > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; > Var; > > []]\nunknown constant \"Number.Natural.divides\"". > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/modular.art";; > > Exception: > > Failure > > "in article /home/robert/Project/laholide/opentheory/modular.art at line > > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; > > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; > > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; > > \"Number.Modular.modular\"; TypeOp; TypeOp; Const]\nunknown > > constant \"Number.Modular.modulus\"". > > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/gfp.art";; > > Exception: > > Failure > > "in article /home/robert/Project/laholide/opentheory/gfp.art at line 54: > > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown > constant > > \"Number.GF(p).oddprime\"". > > # let p = load_proofs > > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; > > Exception: > > Failure > > "in article > /home/robert/Project/laholide/opentheory/natural-fibonacci.art > > at line 1933: defineConstList\nstack = [Thm; > > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; Thm]\nunknown > > constant \"Number.Natural.Fibonacci.zeckendorf\"". > > # let p = load_proofs > "/home/robert/Project/laholide/opentheory/word.art";; > > Exception: > > Failure > > "in article /home/robert/Project/laholide/opentheory/word.art at line > 130: > > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; > > Thm]\nunknown constant \"Data.Word.width\"". > > # > > > > Could you please help on that? It seems I can't even play with the other > > article files I used to be able to load either :( > > > > Thanks very much! > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep to continue my masters. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Thu Jun 25 10:16:14 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Thu, 25 Jun 2015 12:16:14 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Joe, So I tested the HOL "theorems" also, Here are the results: # List.length(!theorems);; val it : int = 1670 So that means there are 1670 - 1214 = 456 theorems not exported to Opentheory? On 25 June 2015 at 12:06, Robert White wrote: > Hi Joe, > > Thanks for the reply. > > 2) So maybe I can try to export them? Cos the more thms I get is better > for my tests. > but I got more thms when I do this search. Why is that (So far we should > have 1214 right? 1214 are those only exported but 1670 are all of them (so > far))? > > # List.length (search []) > ;; > val it : int = 1670 > > > On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: > >> Hi Robert, >> >> Welcome back! >> >> 1) There hasn't been much development on OpenTheory in recent weeks, >> just some extensions to the natural-divides theory to support my >> recent blog post on the extended GCD algorithm: >> >> >> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >> >> 2) There is no real reason why those HOL Light theories have not been >> ported to OpenTheory, except that some of them might not be needed to >> compile a standard theory library (which is a common base of theories >> that is expected to be implemented in every theorem prover). >> >> We do not use the database.ml file which lists all the theorems in the >> main branch of the HOL Light theorem prover (not the OpenTheory fork). >> But I've just checked in a version of the fork that creates a theorem >> database of the standard theory library at the bottom of the hol.ml >> file, so after loading with #use "hol.ml";; you can search the >> database like so: >> >> # search [`MAX (SUC m) (SUC n)`];; >> val it : (string * thm) list = >> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >> >> 3) It looks like you need to extend_the_interpretation before loading >> the proofs as described in >> >> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >> >> Cheers, >> >> Joe >> >> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >> wrote: >> > Dear Joe and all, >> > >> > I am back to the community! >> > >> > I have the following questions and updates for you: >> > >> > 1) I will be finishing my internship in a few weeks and it would be >> nice of >> > you if you can give me some description of the most recent updates of >> > OpenTheory. >> > >> > 2) >> > I noticed there is a part not imported to Opentheory (in hol.ml) : >> > >> > (* Not yet ported to OpenTheory >> > loads "calc_int.ml";; (* Calculation with integer-valued reals >> > *) >> > loads "realarith.ml";; (* Universal linear real decision procedure >> > *) >> > loads "real.ml";; (* Derived properties of reals >> > *) >> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >> > *) >> > loads "int.ml";; (* Definition of integers >> > *) >> > loads "iterate.ml";; (* Iterated operations >> > *) >> > loads "cart.ml";; (* Finite Cartesian products >> > *) >> > *) >> > >> > Is there any reason why not? >> > >> > Also, there is a database.ml file. Shall I ignore that in OpenTheory >> HOL? >> > (since it is not complete anyway) >> > >> > 3) >> > I have problem loading article files: >> > >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/stream.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/stream.art at line >> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >> > \"Data.Stream.replicate\"]\nunknown type operator >> \"Data.Stream.stream\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/natural-prime.art >> at >> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; >> Term; >> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >> Thm]\nunknown >> > constant \"Number.Natural.divides\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >> > Exception: >> > Sys_error >> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such >> file >> > or directory". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >> > Exception: >> > Failure >> > "in article >> /home/robert/Project/laholide/opentheory/natural-divides.art at >> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; >> Var; >> > []]\nunknown constant \"Number.Natural.divides\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/modular.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/modular.art at >> line >> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; >> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >> > \"Number.Modular.modular\"; TypeOp; TypeOp; Const]\nunknown >> > constant \"Number.Modular.modulus\"". >> > # let p = load_proofs >> "/home/robert/Project/laholide/opentheory/gfp.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/gfp.art at line >> 54: >> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >> constant >> > \"Number.GF(p).oddprime\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >> > Exception: >> > Failure >> > "in article >> /home/robert/Project/laholide/opentheory/natural-fibonacci.art >> > at line 1933: defineConstList\nstack = [Thm; >> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; Thm]\nunknown >> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >> > # let p = load_proofs >> "/home/robert/Project/laholide/opentheory/word.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/word.art at line >> 130: >> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; >> > Thm]\nunknown constant \"Data.Word.width\"". >> > # >> > >> > Could you please help on that? It seems I can't even play with the other >> > article files I used to be able to load either :( >> > >> > Thanks very much! >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Thu Jun 25 10:26:50 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Thu, 25 Jun 2015 12:26:50 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi again. There are over 2200 thms in the hol database.ml but there are "to the most"[1] 1885 thms. So where are the rest? [1]I tried to load the files commented out in hol.ml. On 25 June 2015 at 12:16, Robert White wrote: > Hi Joe, > > So I tested the HOL "theorems" also, Here are the results: > # List.length(!theorems);; > val it : int = 1670 > > So that means there are 1670 - 1214 = 456 theorems not exported to > Opentheory? > > > > > On 25 June 2015 at 12:06, Robert White > wrote: > >> Hi Joe, >> >> Thanks for the reply. >> >> 2) So maybe I can try to export them? Cos the more thms I get is better >> for my tests. >> but I got more thms when I do this search. Why is that (So far we should >> have 1214 right? 1214 are those only exported but 1670 are all of them (so >> far))? >> >> # List.length (search []) >> ;; >> val it : int = 1670 >> >> >> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: >> >>> Hi Robert, >>> >>> Welcome back! >>> >>> 1) There hasn't been much development on OpenTheory in recent weeks, >>> just some extensions to the natural-divides theory to support my >>> recent blog post on the extended GCD algorithm: >>> >>> >>> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >>> >>> 2) There is no real reason why those HOL Light theories have not been >>> ported to OpenTheory, except that some of them might not be needed to >>> compile a standard theory library (which is a common base of theories >>> that is expected to be implemented in every theorem prover). >>> >>> We do not use the database.ml file which lists all the theorems in the >>> main branch of the HOL Light theorem prover (not the OpenTheory fork). >>> But I've just checked in a version of the fork that creates a theorem >>> database of the standard theory library at the bottom of the hol.ml >>> file, so after loading with #use "hol.ml";; you can search the >>> database like so: >>> >>> # search [`MAX (SUC m) (SUC n)`];; >>> val it : (string * thm) list = >>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >>> >>> 3) It looks like you need to extend_the_interpretation before loading >>> the proofs as described in >>> >>> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >>> >>> Cheers, >>> >>> Joe >>> >>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >>> wrote: >>> > Dear Joe and all, >>> > >>> > I am back to the community! >>> > >>> > I have the following questions and updates for you: >>> > >>> > 1) I will be finishing my internship in a few weeks and it would be >>> nice of >>> > you if you can give me some description of the most recent updates of >>> > OpenTheory. >>> > >>> > 2) >>> > I noticed there is a part not imported to Opentheory (in hol.ml) : >>> > >>> > (* Not yet ported to OpenTheory >>> > loads "calc_int.ml";; (* Calculation with integer-valued reals >>> > *) >>> > loads "realarith.ml";; (* Universal linear real decision procedure >>> > *) >>> > loads "real.ml";; (* Derived properties of reals >>> > *) >>> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >>> > *) >>> > loads "int.ml";; (* Definition of integers >>> > *) >>> > loads "iterate.ml";; (* Iterated operations >>> > *) >>> > loads "cart.ml";; (* Finite Cartesian products >>> > *) >>> > *) >>> > >>> > Is there any reason why not? >>> > >>> > Also, there is a database.ml file. Shall I ignore that in OpenTheory >>> HOL? >>> > (since it is not complete anyway) >>> > >>> > 3) >>> > I have problem loading article files: >>> > >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/stream.art";; >>> > Exception: >>> > Failure >>> > "in article /home/robert/Project/laholide/opentheory/stream.art at >>> line >>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >>> > \"Data.Stream.replicate\"]\nunknown type operator >>> \"Data.Stream.stream\"". >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >>> > Exception: >>> > Failure >>> > "in article >>> /home/robert/Project/laholide/opentheory/natural-prime.art at >>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; >>> Term; >>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >>> Thm]\nunknown >>> > constant \"Number.Natural.divides\"". >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >>> > Exception: >>> > Sys_error >>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such >>> file >>> > or directory". >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >>> > Exception: >>> > Failure >>> > "in article >>> /home/robert/Project/laholide/opentheory/natural-divides.art at >>> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; >>> Var; >>> > []]\nunknown constant \"Number.Natural.divides\"". >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/modular.art";; >>> > Exception: >>> > Failure >>> > "in article /home/robert/Project/laholide/opentheory/modular.art at >>> line >>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; >>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >>> > \"Number.Modular.modular\"; TypeOp; TypeOp; >>> Const]\nunknown >>> > constant \"Number.Modular.modulus\"". >>> > # let p = load_proofs >>> "/home/robert/Project/laholide/opentheory/gfp.art";; >>> > Exception: >>> > Failure >>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at line >>> 54: >>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >>> constant >>> > \"Number.GF(p).oddprime\"". >>> > # let p = load_proofs >>> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >>> > Exception: >>> > Failure >>> > "in article >>> /home/robert/Project/laholide/opentheory/natural-fibonacci.art >>> > at line 1933: defineConstList\nstack = [Thm; >>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; >>> Thm]\nunknown >>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >>> > # let p = load_proofs >>> "/home/robert/Project/laholide/opentheory/word.art";; >>> > Exception: >>> > Failure >>> > "in article /home/robert/Project/laholide/opentheory/word.art at line >>> 130: >>> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; >>> > Thm]\nunknown constant \"Data.Word.width\"". >>> > # >>> > >>> > Could you please help on that? It seems I can't even play with the >>> other >>> > article files I used to be able to load either :( >>> > >>> > Thanks very much! >>> > >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> > [New email address will be shuai.wang at student.uva.nl] >>> > >>> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep to continue my masters. ] >> [New email address will be shuai.wang at student.uva.nl] >> >> > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Fri Jun 26 04:39:45 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Thu, 25 Jun 2015 21:39:45 -0700 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Robert, As far as I understand it, the update_database command uses some OCaml magic to look for top-level OCaml bindings of type thm, and inserts everything it finds into the theorems reference. So to export more theorems for your project you could export all the theorems in the theorems reference (this should be a superset of the exported theorems). Cheers, Joe On Thu, Jun 25, 2015 at 3:06 AM, Robert White wrote: > Hi Joe, > > Thanks for the reply. > > 2) So maybe I can try to export them? Cos the more thms I get is better for > my tests. > but I got more thms when I do this search. Why is that (So far we should > have 1214 right? 1214 are those only exported but 1670 are all of them (so > far))? > > # List.length (search []) > ;; > val it : int = 1670 > > > On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: >> >> Hi Robert, >> >> Welcome back! >> >> 1) There hasn't been much development on OpenTheory in recent weeks, >> just some extensions to the natural-divides theory to support my >> recent blog post on the extended GCD algorithm: >> >> >> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >> >> 2) There is no real reason why those HOL Light theories have not been >> ported to OpenTheory, except that some of them might not be needed to >> compile a standard theory library (which is a common base of theories >> that is expected to be implemented in every theorem prover). >> >> We do not use the database.ml file which lists all the theorems in the >> main branch of the HOL Light theorem prover (not the OpenTheory fork). >> But I've just checked in a version of the fork that creates a theorem >> database of the standard theory library at the bottom of the hol.ml >> file, so after loading with #use "hol.ml";; you can search the >> database like so: >> >> # search [`MAX (SUC m) (SUC n)`];; >> val it : (string * thm) list = >> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >> >> 3) It looks like you need to extend_the_interpretation before loading >> the proofs as described in >> >> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >> >> Cheers, >> >> Joe >> >> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >> wrote: >> > Dear Joe and all, >> > >> > I am back to the community! >> > >> > I have the following questions and updates for you: >> > >> > 1) I will be finishing my internship in a few weeks and it would be nice >> > of >> > you if you can give me some description of the most recent updates of >> > OpenTheory. >> > >> > 2) >> > I noticed there is a part not imported to Opentheory (in hol.ml) : >> > >> > (* Not yet ported to OpenTheory >> > loads "calc_int.ml";; (* Calculation with integer-valued reals >> > *) >> > loads "realarith.ml";; (* Universal linear real decision procedure >> > *) >> > loads "real.ml";; (* Derived properties of reals >> > *) >> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >> > *) >> > loads "int.ml";; (* Definition of integers >> > *) >> > loads "iterate.ml";; (* Iterated operations >> > *) >> > loads "cart.ml";; (* Finite Cartesian products >> > *) >> > *) >> > >> > Is there any reason why not? >> > >> > Also, there is a database.ml file. Shall I ignore that in OpenTheory >> > HOL? >> > (since it is not complete anyway) >> > >> > 3) >> > I have problem loading article files: >> > >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/stream.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/stream.art at line >> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >> > \"Data.Stream.replicate\"]\nunknown type operator >> > \"Data.Stream.stream\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/natural-prime.art >> > at >> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; >> > Term; >> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >> > Thm]\nunknown >> > constant \"Number.Natural.divides\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >> > Exception: >> > Sys_error >> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such >> > file >> > or directory". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >> > Exception: >> > Failure >> > "in article >> > /home/robert/Project/laholide/opentheory/natural-divides.art at >> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; >> > Var; >> > []]\nunknown constant \"Number.Natural.divides\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/modular.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/modular.art at >> > line >> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; >> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >> > \"Number.Modular.modular\"; TypeOp; TypeOp; Const]\nunknown >> > constant \"Number.Modular.modulus\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/gfp.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/gfp.art at line >> > 54: >> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >> > constant >> > \"Number.GF(p).oddprime\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >> > Exception: >> > Failure >> > "in article >> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art >> > at line 1933: defineConstList\nstack = [Thm; >> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; Thm]\nunknown >> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >> > # let p = load_proofs >> > "/home/robert/Project/laholide/opentheory/word.art";; >> > Exception: >> > Failure >> > "in article /home/robert/Project/laholide/opentheory/word.art at line >> > 130: >> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; >> > Thm]\nunknown constant \"Data.Word.width\"". >> > # >> > >> > Could you please help on that? It seems I can't even play with the other >> > article files I used to be able to load either :( >> > >> > Thanks very much! >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > > > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > From joe at gilith.com Fri Jun 26 04:44:24 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Thu, 25 Jun 2015 21:44:24 -0700 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Robert, This is a mystery to me: perhaps there are many theorems deleted in the OpenTheory fork of HOL Light compared to the standard distribution (which is what the database.ml file records)? Cheers, Joe On Thu, Jun 25, 2015 at 3:26 AM, Robert White wrote: > Hi again. > > There are over 2200 thms in the hol database.ml but there are "to the > most"[1] 1885 thms. So where are the rest? > > [1]I tried to load the files commented out in hol.ml. > > > On 25 June 2015 at 12:16, Robert White > wrote: >> >> Hi Joe, >> >> So I tested the HOL "theorems" also, Here are the results: >> # List.length(!theorems);; >> val it : int = 1670 >> >> So that means there are 1670 - 1214 = 456 theorems not exported to >> Opentheory? >> >> >> >> >> On 25 June 2015 at 12:06, Robert White >> wrote: >>> >>> Hi Joe, >>> >>> Thanks for the reply. >>> >>> 2) So maybe I can try to export them? Cos the more thms I get is better >>> for my tests. >>> but I got more thms when I do this search. Why is that (So far we should >>> have 1214 right? 1214 are those only exported but 1670 are all of them (so >>> far))? >>> >>> # List.length (search []) >>> ;; >>> val it : int = 1670 >>> >>> >>> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: >>>> >>>> Hi Robert, >>>> >>>> Welcome back! >>>> >>>> 1) There hasn't been much development on OpenTheory in recent weeks, >>>> just some extensions to the natural-divides theory to support my >>>> recent blog post on the extended GCD algorithm: >>>> >>>> >>>> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >>>> >>>> 2) There is no real reason why those HOL Light theories have not been >>>> ported to OpenTheory, except that some of them might not be needed to >>>> compile a standard theory library (which is a common base of theories >>>> that is expected to be implemented in every theorem prover). >>>> >>>> We do not use the database.ml file which lists all the theorems in the >>>> main branch of the HOL Light theorem prover (not the OpenTheory fork). >>>> But I've just checked in a version of the fork that creates a theorem >>>> database of the standard theory library at the bottom of the hol.ml >>>> file, so after loading with #use "hol.ml";; you can search the >>>> database like so: >>>> >>>> # search [`MAX (SUC m) (SUC n)`];; >>>> val it : (string * thm) list = >>>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >>>> >>>> 3) It looks like you need to extend_the_interpretation before loading >>>> the proofs as described in >>>> >>>> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >>>> >>>> Cheers, >>>> >>>> Joe >>>> >>>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >>>> wrote: >>>> > Dear Joe and all, >>>> > >>>> > I am back to the community! >>>> > >>>> > I have the following questions and updates for you: >>>> > >>>> > 1) I will be finishing my internship in a few weeks and it would be >>>> > nice of >>>> > you if you can give me some description of the most recent updates of >>>> > OpenTheory. >>>> > >>>> > 2) >>>> > I noticed there is a part not imported to Opentheory (in hol.ml) : >>>> > >>>> > (* Not yet ported to OpenTheory >>>> > loads "calc_int.ml";; (* Calculation with integer-valued reals >>>> > *) >>>> > loads "realarith.ml";; (* Universal linear real decision procedure >>>> > *) >>>> > loads "real.ml";; (* Derived properties of reals >>>> > *) >>>> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >>>> > *) >>>> > loads "int.ml";; (* Definition of integers >>>> > *) >>>> > loads "iterate.ml";; (* Iterated operations >>>> > *) >>>> > loads "cart.ml";; (* Finite Cartesian products >>>> > *) >>>> > *) >>>> > >>>> > Is there any reason why not? >>>> > >>>> > Also, there is a database.ml file. Shall I ignore that in OpenTheory >>>> > HOL? >>>> > (since it is not complete anyway) >>>> > >>>> > 3) >>>> > I have problem loading article files: >>>> > >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/stream.art";; >>>> > Exception: >>>> > Failure >>>> > "in article /home/robert/Project/laholide/opentheory/stream.art at >>>> > line >>>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >>>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >>>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >>>> > \"Data.Stream.replicate\"]\nunknown type operator >>>> > \"Data.Stream.stream\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >>>> > Exception: >>>> > Failure >>>> > "in article >>>> > /home/robert/Project/laholide/opentheory/natural-prime.art at >>>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; Term; >>>> > Term; >>>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >>>> > Thm]\nunknown >>>> > constant \"Number.Natural.divides\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >>>> > Exception: >>>> > Sys_error >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No such >>>> > file >>>> > or directory". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >>>> > Exception: >>>> > Failure >>>> > "in article >>>> > /home/robert/Project/laholide/opentheory/natural-divides.art at >>>> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; Var; >>>> > Var; >>>> > []]\nunknown constant \"Number.Natural.divides\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/modular.art";; >>>> > Exception: >>>> > Failure >>>> > "in article /home/robert/Project/laholide/opentheory/modular.art at >>>> > line >>>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; Var; >>>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >>>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >>>> > \"Number.Modular.modular\"; TypeOp; TypeOp; >>>> > Const]\nunknown >>>> > constant \"Number.Modular.modulus\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/gfp.art";; >>>> > Exception: >>>> > Failure >>>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at line >>>> > 54: >>>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >>>> > constant >>>> > \"Number.GF(p).oddprime\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >>>> > Exception: >>>> > Failure >>>> > "in article >>>> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art >>>> > at line 1933: defineConstList\nstack = [Thm; >>>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; >>>> > Thm]\nunknown >>>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >>>> > # let p = load_proofs >>>> > "/home/robert/Project/laholide/opentheory/word.art";; >>>> > Exception: >>>> > Failure >>>> > "in article /home/robert/Project/laholide/opentheory/word.art at line >>>> > 130: >>>> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; Thm; >>>> > Thm]\nunknown constant \"Data.Word.width\"". >>>> > # >>>> > >>>> > Could you please help on that? It seems I can't even play with the >>>> > other >>>> > article files I used to be able to load either :( >>>> > >>>> > Thanks very much! >>>> > >>>> > -- >>>> > >>>> > Regards, >>>> > Robert White (Shuai Wang) >>>> > INRIA Deducteam >>>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >>>> > [New email address will be shuai.wang at student.uva.nl] >>>> > >>> >>> >>> >>> >>> -- >>> >>> Regards, >>> Robert White (Shuai Wang) >>> INRIA Deducteam >>> [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> [New email address will be shuai.wang at student.uva.nl] >>> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep to continue my masters. ] >> [New email address will be shuai.wang at student.uva.nl] >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 29 17:16:26 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 29 Jun 2015 19:16:26 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Dear Joe, I think HOL Light is more updated. We maybe need to export some files again. For example. the arith.ml The first missing thm is ADD_SUBR, while in the up-to-date HOL Light they have ADD_SUBR defined but not in OpenTheory HOL. So I have the feeling that we need to generate the base.art again I think? Regards, Robert On 26 June 2015 at 06:44, Joe Leslie-Hurd wrote: > Hi Robert, > > This is a mystery to me: perhaps there are many theorems deleted in > the OpenTheory fork of HOL Light compared to the standard distribution > (which is what the database.ml file records)? > > Cheers, > > Joe > > > On Thu, Jun 25, 2015 at 3:26 AM, Robert White > wrote: > > Hi again. > > > > There are over 2200 thms in the hol database.ml but there are "to the > > most"[1] 1885 thms. So where are the rest? > > > > [1]I tried to load the files commented out in hol.ml. > > > > > > On 25 June 2015 at 12:16, Robert White > > wrote: > >> > >> Hi Joe, > >> > >> So I tested the HOL "theorems" also, Here are the results: > >> # List.length(!theorems);; > >> val it : int = 1670 > >> > >> So that means there are 1670 - 1214 = 456 theorems not exported to > >> Opentheory? > >> > >> > >> > >> > >> On 25 June 2015 at 12:06, Robert White > >> wrote: > >>> > >>> Hi Joe, > >>> > >>> Thanks for the reply. > >>> > >>> 2) So maybe I can try to export them? Cos the more thms I get is better > >>> for my tests. > >>> but I got more thms when I do this search. Why is that (So far we > should > >>> have 1214 right? 1214 are those only exported but 1670 are all of them > (so > >>> far))? > >>> > >>> # List.length (search []) > >>> ;; > >>> val it : int = 1670 > >>> > >>> > >>> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: > >>>> > >>>> Hi Robert, > >>>> > >>>> Welcome back! > >>>> > >>>> 1) There hasn't been much development on OpenTheory in recent weeks, > >>>> just some extensions to the natural-divides theory to support my > >>>> recent blog post on the extended GCD algorithm: > >>>> > >>>> > >>>> > https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ > >>>> > >>>> 2) There is no real reason why those HOL Light theories have not been > >>>> ported to OpenTheory, except that some of them might not be needed to > >>>> compile a standard theory library (which is a common base of theories > >>>> that is expected to be implemented in every theorem prover). > >>>> > >>>> We do not use the database.ml file which lists all the theorems in > the > >>>> main branch of the HOL Light theorem prover (not the OpenTheory fork). > >>>> But I've just checked in a version of the fork that creates a theorem > >>>> database of the standard theory library at the bottom of the hol.ml > >>>> file, so after loading with #use "hol.ml";; you can search the > >>>> database like so: > >>>> > >>>> # search [`MAX (SUC m) (SUC n)`];; > >>>> val it : (string * thm) list = > >>>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] > >>>> > >>>> 3) It looks like you need to extend_the_interpretation before loading > >>>> the proofs as described in > >>>> > >>>> > http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html > >>>> > >>>> Cheers, > >>>> > >>>> Joe > >>>> > >>>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White > >>>> wrote: > >>>> > Dear Joe and all, > >>>> > > >>>> > I am back to the community! > >>>> > > >>>> > I have the following questions and updates for you: > >>>> > > >>>> > 1) I will be finishing my internship in a few weeks and it would be > >>>> > nice of > >>>> > you if you can give me some description of the most recent updates > of > >>>> > OpenTheory. > >>>> > > >>>> > 2) > >>>> > I noticed there is a part not imported to Opentheory (in hol.ml) : > >>>> > > >>>> > (* Not yet ported to OpenTheory > >>>> > loads "calc_int.ml";; (* Calculation with integer-valued reals > >>>> > *) > >>>> > loads "realarith.ml";; (* Universal linear real decision procedure > >>>> > *) > >>>> > loads "real.ml";; (* Derived properties of reals > >>>> > *) > >>>> > loads "calc_rat.ml";; (* Calculation with rational-valued reals > >>>> > *) > >>>> > loads "int.ml";; (* Definition of integers > >>>> > *) > >>>> > loads "iterate.ml";; (* Iterated operations > >>>> > *) > >>>> > loads "cart.ml";; (* Finite Cartesian products > >>>> > *) > >>>> > *) > >>>> > > >>>> > Is there any reason why not? > >>>> > > >>>> > Also, there is a database.ml file. Shall I ignore that in > OpenTheory > >>>> > HOL? > >>>> > (since it is not complete anyway) > >>>> > > >>>> > 3) > >>>> > I have problem loading article files: > >>>> > > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/stream.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article /home/robert/Project/laholide/opentheory/stream.art at > >>>> > line > >>>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; > >>>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; > >>>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; > >>>> > \"Data.Stream.replicate\"]\nunknown type operator > >>>> > \"Data.Stream.stream\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article > >>>> > /home/robert/Project/laholide/opentheory/natural-prime.art at > >>>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; > Term; > >>>> > Term; > >>>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; > >>>> > Thm]\nunknown > >>>> > constant \"Number.Natural.divides\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; > >>>> > Exception: > >>>> > Sys_error > >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No > such > >>>> > file > >>>> > or directory". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article > >>>> > /home/robert/Project/laholide/opentheory/natural-divides.art at > >>>> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; > Var; > >>>> > Var; > >>>> > []]\nunknown constant \"Number.Natural.divides\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/modular.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article /home/robert/Project/laholide/opentheory/modular.art at > >>>> > line > >>>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; > Var; > >>>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; > >>>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; > >>>> > \"Number.Modular.modular\"; TypeOp; TypeOp; > >>>> > Const]\nunknown > >>>> > constant \"Number.Modular.modulus\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/gfp.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at > line > >>>> > 54: > >>>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown > >>>> > constant > >>>> > \"Number.GF(p).oddprime\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article > >>>> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art > >>>> > at line 1933: defineConstList\nstack = [Thm; > >>>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; > >>>> > Thm]\nunknown > >>>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". > >>>> > # let p = load_proofs > >>>> > "/home/robert/Project/laholide/opentheory/word.art";; > >>>> > Exception: > >>>> > Failure > >>>> > "in article /home/robert/Project/laholide/opentheory/word.art at > line > >>>> > 130: > >>>> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; > Thm; > >>>> > Thm]\nunknown constant \"Data.Word.width\"". > >>>> > # > >>>> > > >>>> > Could you please help on that? It seems I can't even play with the > >>>> > other > >>>> > article files I used to be able to load either :( > >>>> > > >>>> > Thanks very much! > >>>> > > >>>> > -- > >>>> > > >>>> > Regards, > >>>> > Robert White (Shuai Wang) > >>>> > INRIA Deducteam > >>>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>>> > [New email address will be shuai.wang at student.uva.nl] > >>>> > > >>> > >>> > >>> > >>> > >>> -- > >>> > >>> Regards, > >>> Robert White (Shuai Wang) > >>> INRIA Deducteam > >>> [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>> [New email address will be shuai.wang at student.uva.nl] > >>> > >> > >> > >> > >> -- > >> > >> Regards, > >> Robert White (Shuai Wang) > >> INRIA Deducteam > >> [Moving to ILLC of UvA from this Sep to continue my masters. ] > >> [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep to continue my masters. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ai.robert.wangshuai at gmail.com Mon Jun 29 17:43:21 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 29 Jun 2015 19:43:21 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Dear Joe, I tried to update the arith.ml file. It seems more complicated than I expected. For example, we have LE_ZERO but the new version deleted it. So shall I continue or maybe you have better advice? Regards, Robert On 29 June 2015 at 19:16, Robert White wrote: > Dear Joe, > I think HOL Light is more updated. We maybe need to export some files > again. > For example. the arith.ml > The first missing thm is ADD_SUBR, while in the up-to-date HOL Light they > have ADD_SUBR defined but not in OpenTheory HOL. > So I have the feeling that we need to generate the base.art again I think? > > Regards, > Robert > > > On 26 June 2015 at 06:44, Joe Leslie-Hurd wrote: > >> Hi Robert, >> >> This is a mystery to me: perhaps there are many theorems deleted in >> the OpenTheory fork of HOL Light compared to the standard distribution >> (which is what the database.ml file records)? >> >> Cheers, >> >> Joe >> >> >> On Thu, Jun 25, 2015 at 3:26 AM, Robert White >> wrote: >> > Hi again. >> > >> > There are over 2200 thms in the hol database.ml but there are "to the >> > most"[1] 1885 thms. So where are the rest? >> > >> > [1]I tried to load the files commented out in hol.ml. >> > >> > >> > On 25 June 2015 at 12:16, Robert White >> > wrote: >> >> >> >> Hi Joe, >> >> >> >> So I tested the HOL "theorems" also, Here are the results: >> >> # List.length(!theorems);; >> >> val it : int = 1670 >> >> >> >> So that means there are 1670 - 1214 = 456 theorems not exported to >> >> Opentheory? >> >> >> >> >> >> >> >> >> >> On 25 June 2015 at 12:06, Robert White >> >> wrote: >> >>> >> >>> Hi Joe, >> >>> >> >>> Thanks for the reply. >> >>> >> >>> 2) So maybe I can try to export them? Cos the more thms I get is >> better >> >>> for my tests. >> >>> but I got more thms when I do this search. Why is that (So far we >> should >> >>> have 1214 right? 1214 are those only exported but 1670 are all of >> them (so >> >>> far))? >> >>> >> >>> # List.length (search []) >> >>> ;; >> >>> val it : int = 1670 >> >>> >> >>> >> >>> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: >> >>>> >> >>>> Hi Robert, >> >>>> >> >>>> Welcome back! >> >>>> >> >>>> 1) There hasn't been much development on OpenTheory in recent weeks, >> >>>> just some extensions to the natural-divides theory to support my >> >>>> recent blog post on the extended GCD algorithm: >> >>>> >> >>>> >> >>>> >> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >> >>>> >> >>>> 2) There is no real reason why those HOL Light theories have not been >> >>>> ported to OpenTheory, except that some of them might not be needed to >> >>>> compile a standard theory library (which is a common base of theories >> >>>> that is expected to be implemented in every theorem prover). >> >>>> >> >>>> We do not use the database.ml file which lists all the theorems in >> the >> >>>> main branch of the HOL Light theorem prover (not the OpenTheory >> fork). >> >>>> But I've just checked in a version of the fork that creates a theorem >> >>>> database of the standard theory library at the bottom of the hol.ml >> >>>> file, so after loading with #use "hol.ml";; you can search the >> >>>> database like so: >> >>>> >> >>>> # search [`MAX (SUC m) (SUC n)`];; >> >>>> val it : (string * thm) list = >> >>>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >> >>>> >> >>>> 3) It looks like you need to extend_the_interpretation before loading >> >>>> the proofs as described in >> >>>> >> >>>> >> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >> >>>> >> >>>> Cheers, >> >>>> >> >>>> Joe >> >>>> >> >>>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >> >>>> wrote: >> >>>> > Dear Joe and all, >> >>>> > >> >>>> > I am back to the community! >> >>>> > >> >>>> > I have the following questions and updates for you: >> >>>> > >> >>>> > 1) I will be finishing my internship in a few weeks and it would be >> >>>> > nice of >> >>>> > you if you can give me some description of the most recent updates >> of >> >>>> > OpenTheory. >> >>>> > >> >>>> > 2) >> >>>> > I noticed there is a part not imported to Opentheory (in hol.ml) : >> >>>> > >> >>>> > (* Not yet ported to OpenTheory >> >>>> > loads "calc_int.ml";; (* Calculation with integer-valued reals >> >>>> > *) >> >>>> > loads "realarith.ml";; (* Universal linear real decision >> procedure >> >>>> > *) >> >>>> > loads "real.ml";; (* Derived properties of reals >> >>>> > *) >> >>>> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >> >>>> > *) >> >>>> > loads "int.ml";; (* Definition of integers >> >>>> > *) >> >>>> > loads "iterate.ml";; (* Iterated operations >> >>>> > *) >> >>>> > loads "cart.ml";; (* Finite Cartesian products >> >>>> > *) >> >>>> > *) >> >>>> > >> >>>> > Is there any reason why not? >> >>>> > >> >>>> > Also, there is a database.ml file. Shall I ignore that in >> OpenTheory >> >>>> > HOL? >> >>>> > (since it is not complete anyway) >> >>>> > >> >>>> > 3) >> >>>> > I have problem loading article files: >> >>>> > >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/stream.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article /home/robert/Project/laholide/opentheory/stream.art at >> >>>> > line >> >>>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >> >>>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >> >>>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >> >>>> > \"Data.Stream.replicate\"]\nunknown type operator >> >>>> > \"Data.Stream.stream\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article >> >>>> > /home/robert/Project/laholide/opentheory/natural-prime.art at >> >>>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; >> Term; >> >>>> > Term; >> >>>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >> >>>> > Thm]\nunknown >> >>>> > constant \"Number.Natural.divides\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >> >>>> > Exception: >> >>>> > Sys_error >> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No >> such >> >>>> > file >> >>>> > or directory". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article >> >>>> > /home/robert/Project/laholide/opentheory/natural-divides.art at >> >>>> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; >> Var; >> >>>> > Var; >> >>>> > []]\nunknown constant \"Number.Natural.divides\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/modular.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article /home/robert/Project/laholide/opentheory/modular.art >> at >> >>>> > line >> >>>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; >> Var; >> >>>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >> >>>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >> >>>> > \"Number.Modular.modular\"; TypeOp; TypeOp; >> >>>> > Const]\nunknown >> >>>> > constant \"Number.Modular.modulus\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/gfp.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at >> line >> >>>> > 54: >> >>>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >> >>>> > constant >> >>>> > \"Number.GF(p).oddprime\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article >> >>>> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art >> >>>> > at line 1933: defineConstList\nstack = [Thm; >> >>>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; >> >>>> > Thm]\nunknown >> >>>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >> >>>> > # let p = load_proofs >> >>>> > "/home/robert/Project/laholide/opentheory/word.art";; >> >>>> > Exception: >> >>>> > Failure >> >>>> > "in article /home/robert/Project/laholide/opentheory/word.art at >> line >> >>>> > 130: >> >>>> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; >> Thm; >> >>>> > Thm]\nunknown constant \"Data.Word.width\"". >> >>>> > # >> >>>> > >> >>>> > Could you please help on that? It seems I can't even play with the >> >>>> > other >> >>>> > article files I used to be able to load either :( >> >>>> > >> >>>> > Thanks very much! >> >>>> > >> >>>> > -- >> >>>> > >> >>>> > Regards, >> >>>> > Robert White (Shuai Wang) >> >>>> > INRIA Deducteam >> >>>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >> >>>> > [New email address will be shuai.wang at student.uva.nl] >> >>>> > >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> >> >>> Regards, >> >>> Robert White (Shuai Wang) >> >>> INRIA Deducteam >> >>> [Moving to ILLC of UvA from this Sep to continue my masters. ] >> >>> [New email address will be shuai.wang at student.uva.nl] >> >>> >> >> >> >> >> >> >> >> -- >> >> >> >> Regards, >> >> Robert White (Shuai Wang) >> >> INRIA Deducteam >> >> [Moving to ILLC of UvA from this Sep to continue my masters. ] >> >> [New email address will be shuai.wang at student.uva.nl] >> >> >> > >> > >> > >> > -- >> > >> > Regards, >> > Robert White (Shuai Wang) >> > INRIA Deducteam >> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >> > [New email address will be shuai.wang at student.uva.nl] >> > >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe at gilith.com Mon Jun 29 18:30:36 2015 From: joe at gilith.com (Joe Leslie-Hurd) Date: Mon, 29 Jun 2015 11:30:36 -0700 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Hi Robert, In general there are quite a few differences in definitions and theorems between the OpenTheory fork of HOL Light and the trunk, and some of that is here to stay (e.g., the explicit type of sets in the OpenTheory fork). That said, it's past time to do a merge with the HOL Light trunk and create a new version of the standard theory library: I will work on this. Cheers, Joe On Mon, Jun 29, 2015 at 10:43 AM, Robert White wrote: > Dear Joe, > > I tried to update the arith.ml file. It seems more complicated than I > expected. > For example, we have LE_ZERO but the new version deleted it. > > So shall I continue or maybe you have better advice? > Regards, > Robert > > On 29 June 2015 at 19:16, Robert White > wrote: >> >> Dear Joe, >> I think HOL Light is more updated. We maybe need to export some files >> again. >> For example. the arith.ml >> The first missing thm is ADD_SUBR, while in the up-to-date HOL Light they >> have ADD_SUBR defined but not in OpenTheory HOL. >> So I have the feeling that we need to generate the base.art again I think? >> >> Regards, >> Robert >> >> >> On 26 June 2015 at 06:44, Joe Leslie-Hurd wrote: >>> >>> Hi Robert, >>> >>> This is a mystery to me: perhaps there are many theorems deleted in >>> the OpenTheory fork of HOL Light compared to the standard distribution >>> (which is what the database.ml file records)? >>> >>> Cheers, >>> >>> Joe >>> >>> >>> On Thu, Jun 25, 2015 at 3:26 AM, Robert White >>> wrote: >>> > Hi again. >>> > >>> > There are over 2200 thms in the hol database.ml but there are "to the >>> > most"[1] 1885 thms. So where are the rest? >>> > >>> > [1]I tried to load the files commented out in hol.ml. >>> > >>> > >>> > On 25 June 2015 at 12:16, Robert White >>> > wrote: >>> >> >>> >> Hi Joe, >>> >> >>> >> So I tested the HOL "theorems" also, Here are the results: >>> >> # List.length(!theorems);; >>> >> val it : int = 1670 >>> >> >>> >> So that means there are 1670 - 1214 = 456 theorems not exported to >>> >> Opentheory? >>> >> >>> >> >>> >> >>> >> >>> >> On 25 June 2015 at 12:06, Robert White >>> >> wrote: >>> >>> >>> >>> Hi Joe, >>> >>> >>> >>> Thanks for the reply. >>> >>> >>> >>> 2) So maybe I can try to export them? Cos the more thms I get is >>> >>> better >>> >>> for my tests. >>> >>> but I got more thms when I do this search. Why is that (So far we >>> >>> should >>> >>> have 1214 right? 1214 are those only exported but 1670 are all of >>> >>> them (so >>> >>> far))? >>> >>> >>> >>> # List.length (search []) >>> >>> ;; >>> >>> val it : int = 1670 >>> >>> >>> >>> >>> >>> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: >>> >>>> >>> >>>> Hi Robert, >>> >>>> >>> >>>> Welcome back! >>> >>>> >>> >>>> 1) There hasn't been much development on OpenTheory in recent weeks, >>> >>>> just some extensions to the natural-divides theory to support my >>> >>>> recent blog post on the extended GCD algorithm: >>> >>>> >>> >>>> >>> >>>> >>> >>>> https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ >>> >>>> >>> >>>> 2) There is no real reason why those HOL Light theories have not >>> >>>> been >>> >>>> ported to OpenTheory, except that some of them might not be needed >>> >>>> to >>> >>>> compile a standard theory library (which is a common base of >>> >>>> theories >>> >>>> that is expected to be implemented in every theorem prover). >>> >>>> >>> >>>> We do not use the database.ml file which lists all the theorems in >>> >>>> the >>> >>>> main branch of the HOL Light theorem prover (not the OpenTheory >>> >>>> fork). >>> >>>> But I've just checked in a version of the fork that creates a >>> >>>> theorem >>> >>>> database of the standard theory library at the bottom of the hol.ml >>> >>>> file, so after loading with #use "hol.ml";; you can search the >>> >>>> database like so: >>> >>>> >>> >>>> # search [`MAX (SUC m) (SUC n)`];; >>> >>>> val it : (string * thm) list = >>> >>>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] >>> >>>> >>> >>>> 3) It looks like you need to extend_the_interpretation before >>> >>>> loading >>> >>>> the proofs as described in >>> >>>> >>> >>>> >>> >>>> http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html >>> >>>> >>> >>>> Cheers, >>> >>>> >>> >>>> Joe >>> >>>> >>> >>>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White >>> >>>> wrote: >>> >>>> > Dear Joe and all, >>> >>>> > >>> >>>> > I am back to the community! >>> >>>> > >>> >>>> > I have the following questions and updates for you: >>> >>>> > >>> >>>> > 1) I will be finishing my internship in a few weeks and it would >>> >>>> > be >>> >>>> > nice of >>> >>>> > you if you can give me some description of the most recent updates >>> >>>> > of >>> >>>> > OpenTheory. >>> >>>> > >>> >>>> > 2) >>> >>>> > I noticed there is a part not imported to Opentheory (in hol.ml) : >>> >>>> > >>> >>>> > (* Not yet ported to OpenTheory >>> >>>> > loads "calc_int.ml";; (* Calculation with integer-valued reals >>> >>>> > *) >>> >>>> > loads "realarith.ml";; (* Universal linear real decision >>> >>>> > procedure >>> >>>> > *) >>> >>>> > loads "real.ml";; (* Derived properties of reals >>> >>>> > *) >>> >>>> > loads "calc_rat.ml";; (* Calculation with rational-valued reals >>> >>>> > *) >>> >>>> > loads "int.ml";; (* Definition of integers >>> >>>> > *) >>> >>>> > loads "iterate.ml";; (* Iterated operations >>> >>>> > *) >>> >>>> > loads "cart.ml";; (* Finite Cartesian products >>> >>>> > *) >>> >>>> > *) >>> >>>> > >>> >>>> > Is there any reason why not? >>> >>>> > >>> >>>> > Also, there is a database.ml file. Shall I ignore that in >>> >>>> > OpenTheory >>> >>>> > HOL? >>> >>>> > (since it is not complete anyway) >>> >>>> > >>> >>>> > 3) >>> >>>> > I have problem loading article files: >>> >>>> > >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/stream.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article /home/robert/Project/laholide/opentheory/stream.art >>> >>>> > at >>> >>>> > line >>> >>>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; >>> >>>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; >>> >>>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; >>> >>>> > \"Data.Stream.replicate\"]\nunknown type operator >>> >>>> > \"Data.Stream.stream\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article >>> >>>> > /home/robert/Project/laholide/opentheory/natural-prime.art at >>> >>>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; >>> >>>> > Term; >>> >>>> > Term; >>> >>>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; >>> >>>> > Thm]\nunknown >>> >>>> > constant \"Number.Natural.divides\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; >>> >>>> > Exception: >>> >>>> > Sys_error >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: No >>> >>>> > such >>> >>>> > file >>> >>>> > or directory". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article >>> >>>> > /home/robert/Project/laholide/opentheory/natural-divides.art at >>> >>>> > line 159: defineConst\nstack = [Term; \"Number.Natural.divides\"; >>> >>>> > Var; >>> >>>> > Var; >>> >>>> > []]\nunknown constant \"Number.Natural.divides\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/modular.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article /home/robert/Project/laholide/opentheory/modular.art >>> >>>> > at >>> >>>> > line >>> >>>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; Var; >>> >>>> > Var; >>> >>>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; >>> >>>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; >>> >>>> > \"Number.Modular.modular\"; TypeOp; TypeOp; >>> >>>> > Const]\nunknown >>> >>>> > constant \"Number.Modular.modulus\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/gfp.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at >>> >>>> > line >>> >>>> > 54: >>> >>>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; []]\nunknown >>> >>>> > constant >>> >>>> > \"Number.GF(p).oddprime\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article >>> >>>> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art >>> >>>> > at line 1933: defineConstList\nstack = [Thm; >>> >>>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; >>> >>>> > Thm]\nunknown >>> >>>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". >>> >>>> > # let p = load_proofs >>> >>>> > "/home/robert/Project/laholide/opentheory/word.art";; >>> >>>> > Exception: >>> >>>> > Failure >>> >>>> > "in article /home/robert/Project/laholide/opentheory/word.art at >>> >>>> > line >>> >>>> > 130: >>> >>>> > const\nstack = [\"Data.Word.width\"; Term; \"Data.Word.modulus\"; >>> >>>> > Thm; >>> >>>> > Thm]\nunknown constant \"Data.Word.width\"". >>> >>>> > # >>> >>>> > >>> >>>> > Could you please help on that? It seems I can't even play with the >>> >>>> > other >>> >>>> > article files I used to be able to load either :( >>> >>>> > >>> >>>> > Thanks very much! >>> >>>> > >>> >>>> > -- >>> >>>> > >>> >>>> > Regards, >>> >>>> > Robert White (Shuai Wang) >>> >>>> > INRIA Deducteam >>> >>>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> >>>> > [New email address will be shuai.wang at student.uva.nl] >>> >>>> > >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> >>> >>> Regards, >>> >>> Robert White (Shuai Wang) >>> >>> INRIA Deducteam >>> >>> [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> >>> [New email address will be shuai.wang at student.uva.nl] >>> >>> >>> >> >>> >> >>> >> >>> >> -- >>> >> >>> >> Regards, >>> >> Robert White (Shuai Wang) >>> >> INRIA Deducteam >>> >> [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> >> [New email address will be shuai.wang at student.uva.nl] >>> >> >>> > >>> > >>> > >>> > -- >>> > >>> > Regards, >>> > Robert White (Shuai Wang) >>> > INRIA Deducteam >>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] >>> > [New email address will be shuai.wang at student.uva.nl] >>> > >> >> >> >> >> -- >> >> Regards, >> Robert White (Shuai Wang) >> INRIA Deducteam >> [Moving to ILLC of UvA from this Sep to continue my masters. ] >> [New email address will be shuai.wang at student.uva.nl] >> > > > > -- > > Regards, > Robert White (Shuai Wang) > INRIA Deducteam > [Moving to ILLC of UvA from this Sep to continue my masters. ] > [New email address will be shuai.wang at student.uva.nl] > From ai.robert.wangshuai at gmail.com Mon Jun 29 19:04:33 2015 From: ai.robert.wangshuai at gmail.com (Robert White) Date: Mon, 29 Jun 2015 21:04:33 +0200 Subject: [opentheory-users] error loading article files (again?). In-Reply-To: References: Message-ID: Dear Joe, Thanks for the reply. I am looking forward to the updates! Here are things I found which might be useful for you: 1) Looks like there is something wrong going on there in sum.ml: Exception: Failure "REFL_TAC". Error in included file ----/hol_light/opentheory/stdlib/sum.ml 2) There is no CASES_TAC in the most up-to-date version of HOL Light. Questions: 1) Why do you want things to be different? Cheers Robert On 29 June 2015 at 20:30, Joe Leslie-Hurd wrote: > Hi Robert, > > In general there are quite a few differences in definitions and > theorems between the OpenTheory fork of HOL Light and the trunk, and > some of that is here to stay (e.g., the explicit type of sets in the > OpenTheory fork). > > That said, it's past time to do a merge with the HOL Light trunk and > create a new version of the standard theory library: I will work on > this. > > Cheers, > > Joe > > > On Mon, Jun 29, 2015 at 10:43 AM, Robert White > wrote: > > Dear Joe, > > > > I tried to update the arith.ml file. It seems more complicated than I > > expected. > > For example, we have LE_ZERO but the new version deleted it. > > > > So shall I continue or maybe you have better advice? > > Regards, > > Robert > > > > On 29 June 2015 at 19:16, Robert White > > wrote: > >> > >> Dear Joe, > >> I think HOL Light is more updated. We maybe need to export some files > >> again. > >> For example. the arith.ml > >> The first missing thm is ADD_SUBR, while in the up-to-date HOL Light > they > >> have ADD_SUBR defined but not in OpenTheory HOL. > >> So I have the feeling that we need to generate the base.art again I > think? > >> > >> Regards, > >> Robert > >> > >> > >> On 26 June 2015 at 06:44, Joe Leslie-Hurd wrote: > >>> > >>> Hi Robert, > >>> > >>> This is a mystery to me: perhaps there are many theorems deleted in > >>> the OpenTheory fork of HOL Light compared to the standard distribution > >>> (which is what the database.ml file records)? > >>> > >>> Cheers, > >>> > >>> Joe > >>> > >>> > >>> On Thu, Jun 25, 2015 at 3:26 AM, Robert White > >>> wrote: > >>> > Hi again. > >>> > > >>> > There are over 2200 thms in the hol database.ml but there are "to > the > >>> > most"[1] 1885 thms. So where are the rest? > >>> > > >>> > [1]I tried to load the files commented out in hol.ml. > >>> > > >>> > > >>> > On 25 June 2015 at 12:16, Robert White < > ai.robert.wangshuai at gmail.com> > >>> > wrote: > >>> >> > >>> >> Hi Joe, > >>> >> > >>> >> So I tested the HOL "theorems" also, Here are the results: > >>> >> # List.length(!theorems);; > >>> >> val it : int = 1670 > >>> >> > >>> >> So that means there are 1670 - 1214 = 456 theorems not exported to > >>> >> Opentheory? > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> On 25 June 2015 at 12:06, Robert White < > ai.robert.wangshuai at gmail.com> > >>> >> wrote: > >>> >>> > >>> >>> Hi Joe, > >>> >>> > >>> >>> Thanks for the reply. > >>> >>> > >>> >>> 2) So maybe I can try to export them? Cos the more thms I get is > >>> >>> better > >>> >>> for my tests. > >>> >>> but I got more thms when I do this search. Why is that (So far we > >>> >>> should > >>> >>> have 1214 right? 1214 are those only exported but 1670 are all of > >>> >>> them (so > >>> >>> far))? > >>> >>> > >>> >>> # List.length (search []) > >>> >>> ;; > >>> >>> val it : int = 1670 > >>> >>> > >>> >>> > >>> >>> On 24 June 2015 at 23:11, Joe Leslie-Hurd wrote: > >>> >>>> > >>> >>>> Hi Robert, > >>> >>>> > >>> >>>> Welcome back! > >>> >>>> > >>> >>>> 1) There hasn't been much development on OpenTheory in recent > weeks, > >>> >>>> just some extensions to the natural-divides theory to support my > >>> >>>> recent blog post on the extended GCD algorithm: > >>> >>>> > >>> >>>> > >>> >>>> > >>> >>>> > https://gilith.wordpress.com/2015/06/24/natural-number-greatest-common-divisor/ > >>> >>>> > >>> >>>> 2) There is no real reason why those HOL Light theories have not > >>> >>>> been > >>> >>>> ported to OpenTheory, except that some of them might not be needed > >>> >>>> to > >>> >>>> compile a standard theory library (which is a common base of > >>> >>>> theories > >>> >>>> that is expected to be implemented in every theorem prover). > >>> >>>> > >>> >>>> We do not use the database.ml file which lists all the theorems > in > >>> >>>> the > >>> >>>> main branch of the HOL Light theorem prover (not the OpenTheory > >>> >>>> fork). > >>> >>>> But I've just checked in a version of the fork that creates a > >>> >>>> theorem > >>> >>>> database of the standard theory library at the bottom of the > hol.ml > >>> >>>> file, so after loading with #use "hol.ml";; you can search the > >>> >>>> database like so: > >>> >>>> > >>> >>>> # search [`MAX (SUC m) (SUC n)`];; > >>> >>>> val it : (string * thm) list = > >>> >>>> [("MAX_SUC", |- !m n. MAX (SUC m) (SUC n) = SUC (MAX m n))] > >>> >>>> > >>> >>>> 3) It looks like you need to extend_the_interpretation before > >>> >>>> loading > >>> >>>> the proofs as described in > >>> >>>> > >>> >>>> > >>> >>>> > http://www.gilith.com/pipermail/opentheory-users/2015-June/000515.html > >>> >>>> > >>> >>>> Cheers, > >>> >>>> > >>> >>>> Joe > >>> >>>> > >>> >>>> On Wed, Jun 24, 2015 at 1:31 PM, Robert White > >>> >>>> wrote: > >>> >>>> > Dear Joe and all, > >>> >>>> > > >>> >>>> > I am back to the community! > >>> >>>> > > >>> >>>> > I have the following questions and updates for you: > >>> >>>> > > >>> >>>> > 1) I will be finishing my internship in a few weeks and it would > >>> >>>> > be > >>> >>>> > nice of > >>> >>>> > you if you can give me some description of the most recent > updates > >>> >>>> > of > >>> >>>> > OpenTheory. > >>> >>>> > > >>> >>>> > 2) > >>> >>>> > I noticed there is a part not imported to Opentheory (in hol.ml) > : > >>> >>>> > > >>> >>>> > (* Not yet ported to OpenTheory > >>> >>>> > loads "calc_int.ml";; (* Calculation with integer-valued > reals > >>> >>>> > *) > >>> >>>> > loads "realarith.ml";; (* Universal linear real decision > >>> >>>> > procedure > >>> >>>> > *) > >>> >>>> > loads "real.ml";; (* Derived properties of reals > >>> >>>> > *) > >>> >>>> > loads "calc_rat.ml";; (* Calculation with rational-valued > reals > >>> >>>> > *) > >>> >>>> > loads "int.ml";; (* Definition of integers > >>> >>>> > *) > >>> >>>> > loads "iterate.ml";; (* Iterated operations > >>> >>>> > *) > >>> >>>> > loads "cart.ml";; (* Finite Cartesian products > >>> >>>> > *) > >>> >>>> > *) > >>> >>>> > > >>> >>>> > Is there any reason why not? > >>> >>>> > > >>> >>>> > Also, there is a database.ml file. Shall I ignore that in > >>> >>>> > OpenTheory > >>> >>>> > HOL? > >>> >>>> > (since it is not complete anyway) > >>> >>>> > > >>> >>>> > 3) > >>> >>>> > I have problem loading article files: > >>> >>>> > > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/stream.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article /home/robert/Project/laholide/opentheory/stream.art > >>> >>>> > at > >>> >>>> > line > >>> >>>> > 1273: defineTypeOp\nstack = [Thm; [\"A\"]; \"Data.Stream.nth\"; > >>> >>>> > \"Data.Stream.fromFunction\"; \"Data.Stream.stream\"; Var; Var; > >>> >>>> > \"Data.Stream.unfold\"; Var; \"Data.Stream.iterate\"; > >>> >>>> > \"Data.Stream.replicate\"]\nunknown type operator > >>> >>>> > \"Data.Stream.stream\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-prime.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article > >>> >>>> > /home/robert/Project/laholide/opentheory/natural-prime.art at > >>> >>>> > line 191: const\nstack = [\"Number.Natural.divides\"; Term; Var; > >>> >>>> > Term; > >>> >>>> > Term; > >>> >>>> > Var; \"Number.Natural.prime\"; Term; Var; [[]; [[Var; Term]]]; > >>> >>>> > Thm]\nunknown > >>> >>>> > constant \"Number.Natural.divides\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art";; > >>> >>>> > Exception: > >>> >>>> > Sys_error > >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divide.art: > No > >>> >>>> > such > >>> >>>> > file > >>> >>>> > or directory". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/natural-divides.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article > >>> >>>> > /home/robert/Project/laholide/opentheory/natural-divides.art at > >>> >>>> > line 159: defineConst\nstack = [Term; > \"Number.Natural.divides\"; > >>> >>>> > Var; > >>> >>>> > Var; > >>> >>>> > []]\nunknown constant \"Number.Natural.divides\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/modular.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article > /home/robert/Project/laholide/opentheory/modular.art > >>> >>>> > at > >>> >>>> > line > >>> >>>> > 155: const\nstack = [\"Number.Modular.modulus\"; Term; Term; > Var; > >>> >>>> > Var; > >>> >>>> > \"Number.Modular.equivalent\"; Term; Var; Term; Var; []; > >>> >>>> > \"HOLLight.modular_to_class\"; \"HOLLight.modular_from_class\"; > >>> >>>> > \"Number.Modular.modular\"; TypeOp; TypeOp; > >>> >>>> > Const]\nunknown > >>> >>>> > constant \"Number.Modular.modulus\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/gfp.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article /home/robert/Project/laholide/opentheory/gfp.art at > >>> >>>> > line > >>> >>>> > 54: > >>> >>>> > const\nstack = [\"Number.GF(p).oddprime\"; Term; Var; > []]\nunknown > >>> >>>> > constant > >>> >>>> > \"Number.GF(p).oddprime\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > > "/home/robert/Project/laholide/opentheory/natural-fibonacci.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article > >>> >>>> > /home/robert/Project/laholide/opentheory/natural-fibonacci.art > >>> >>>> > at line 1933: defineConstList\nstack = [Thm; > >>> >>>> > [[\"Number.Natural.Fibonacci.zeckendorf\"; Var]]; Var; []; > >>> >>>> > Thm]\nunknown > >>> >>>> > constant \"Number.Natural.Fibonacci.zeckendorf\"". > >>> >>>> > # let p = load_proofs > >>> >>>> > "/home/robert/Project/laholide/opentheory/word.art";; > >>> >>>> > Exception: > >>> >>>> > Failure > >>> >>>> > "in article /home/robert/Project/laholide/opentheory/word.art > at > >>> >>>> > line > >>> >>>> > 130: > >>> >>>> > const\nstack = [\"Data.Word.width\"; Term; > \"Data.Word.modulus\"; > >>> >>>> > Thm; > >>> >>>> > Thm]\nunknown constant \"Data.Word.width\"". > >>> >>>> > # > >>> >>>> > > >>> >>>> > Could you please help on that? It seems I can't even play with > the > >>> >>>> > other > >>> >>>> > article files I used to be able to load either :( > >>> >>>> > > >>> >>>> > Thanks very much! > >>> >>>> > > >>> >>>> > -- > >>> >>>> > > >>> >>>> > Regards, > >>> >>>> > Robert White (Shuai Wang) > >>> >>>> > INRIA Deducteam > >>> >>>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>> >>>> > [New email address will be shuai.wang at student.uva.nl] > >>> >>>> > > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> -- > >>> >>> > >>> >>> Regards, > >>> >>> Robert White (Shuai Wang) > >>> >>> INRIA Deducteam > >>> >>> [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>> >>> [New email address will be shuai.wang at student.uva.nl] > >>> >>> > >>> >> > >>> >> > >>> >> > >>> >> -- > >>> >> > >>> >> Regards, > >>> >> Robert White (Shuai Wang) > >>> >> INRIA Deducteam > >>> >> [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>> >> [New email address will be shuai.wang at student.uva.nl] > >>> >> > >>> > > >>> > > >>> > > >>> > -- > >>> > > >>> > Regards, > >>> > Robert White (Shuai Wang) > >>> > INRIA Deducteam > >>> > [Moving to ILLC of UvA from this Sep to continue my masters. ] > >>> > [New email address will be shuai.wang at student.uva.nl] > >>> > > >> > >> > >> > >> > >> -- > >> > >> Regards, > >> Robert White (Shuai Wang) > >> INRIA Deducteam > >> [Moving to ILLC of UvA from this Sep to continue my masters. ] > >> [New email address will be shuai.wang at student.uva.nl] > >> > > > > > > > > -- > > > > Regards, > > Robert White (Shuai Wang) > > INRIA Deducteam > > [Moving to ILLC of UvA from this Sep to continue my masters. ] > > [New email address will be shuai.wang at student.uva.nl] > > > -- Regards, Robert White (Shuai Wang) INRIA Deducteam [Moving to ILLC of UvA from this Sep to continue my masters. ] [New email address will be shuai.wang at student.uva.nl] -------------- next part -------------- An HTML attachment was scrubbed... URL: