Re: [Hol-info] Problem installing HOL 4

2016-05-24 Thread Chun Tian (binghe)
Hi all, But still, PolyML 5.6 is not supported yet, right? I have to use latest Poly ML 5.5.x to build HOL4 (Git master) on Mac OS X. Regards, Chun Tian (binghe) University of Bologna On 24 May 2016 at 07:29, Thomas Tuerk wrote: > Hi Michael, > > thanks. That did the trick. The new

Re: [Hol-info] Problem installing HOL 4

2016-05-24 Thread Chun Tian (binghe)
after a full clean up of my HOL working directory, with all .HOLMK and .hollogs directories deleted (otherwise I still can't build), I finally managed to build latest HOL with PolyML 5.6, for the first time. Thanks again. Regards, Chun Tian (binghe) University of Bologna, Italy On 24 May

[Hol-info] Process algebra CCS in HOL?

2016-05-24 Thread Chun Tian (binghe)
r if the related HOL theory scripts are still available somewhere on Internet? Regards, -- Chun Tian (binghe) University of Bologna, Italy [1] http://128.232.0.20/techreports/UCAM-CL-TR-278.pdf -- Mobile security can be

[Hol-info] Difficulties when migrating proof scripts from Coq

2017-01-12 Thread Chun Tian (binghe)
tion that I could define using HOL’s Define, but in HOL named like Ax, RightSlash, … are just names of theorems, and there’s no concept of “proof” defined so far, so I have no way to express the degree of a proof itself !! I’m stuck here

Re: [Hol-info] Difficulties when migrating proof scripts from Coq

2017-01-12 Thread Chun Tian (binghe)
d to what you're trying > to define. > > Note that if you just wanted 2), you can add it directly to the inductive > relation defining your rules as an additional argument instead of defining a > brand new relation. > > > On Thu, Jan 12, 2017 at 10:19 AM, Chun Tian (bin

[Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-16 Thread Chun Tian (binghe)
Hi, HOL Reference said that, PAT_ASSUM "Finds the first assumption that matches the term argument, applies the theorem tactic to it, and removes this assumption.” But I found it actually doesn’t remove the assumption in latest Kananaskis 11. To see this, try the following goal (open listTheory

Re: [Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-16 Thread Chun Tian (binghe)
by comparing the proof of probability theorems between K10 and K11, while PAT_X_ASSUM is not mentioned in the manual at all. How to proceed? I write a reference page for it? Regards, Chun > Il giorno 16/gen/2017, alle ore 19:47, Chun Tian (binghe) > ha scritto: > > Hi, >

Re: [Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-17 Thread Chun Tian (binghe)
; though, so thank you very much for writing those! > > Michael > > On 17/1/17, 05:47, "Chun Tian (binghe)" wrote: > > Hi, > > HOL Reference said that, PAT_ASSUM "Finds the first assumption that > matches the term argument, applies the theorem tactic

Re: [Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-17 Thread Chun Tian (binghe)
Sorry, I re-checked my Isabelle environment and found that the PolyML in Isabelle is actually built by GCC (mingw versions), so my statement about "PolyML cannot be built in ..." was completely wrong. The rest ideas should still hold. On 17 January 2017 at 13:36, Chun Tian (binghe) wr

[Hol-info] How to prove this theorem about relations?

2017-01-18 Thread Chun Tian (binghe)
Atoms) (at_ : Atoms), subFormula A (At at_) -> A = At at_. intros Atoms A at_ H. inversion H. reflexivity. Qed. Need help ... Regards, Chun Tian (binghe) University of Bologna (Italy) -- Check out the vi

Re: [Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-18 Thread Chun Tian (binghe)
belle.in.tum.de/repos/isabelle/ On 18 January 2017 at 11:54, Makarius wrote: > On 17/01/17 15:24, Chun Tian (binghe) wrote: > > Sorry, I re-checked my Isabelle environment and found that the PolyML in > > Isabelle is actually built by GCC (mingw versions), so my statement > > a

Re: [Hol-info] How to prove this theorem about relations?

2017-01-18 Thread Chun Tian (binghe)
val form_ss = DatatypeSimps.type_rewrites_ss [``:'a form``] > > val myTHM = prove(``!A (a:'a). subF A (atom a) ==> (A = atom a)``, > > ONCE_REWRITE_TAC [subF_cases] THEN > SIMP_TAC (std_ss++form_ss) []) > > > I hope this helps > > Thomas > > On

Re: [Hol-info] How to prove this theorem about relations?

2017-01-18 Thread Chun Tian (binghe)
; are collected. It is used by tools like the case or induct tactics. So, > some other nice way of getting such theorems is > > TypeBase.fetch ``:'a form`` > > or specialized ones via > > TypeBase.distinct_of ``:'a form`` > TypeBase.one_one_of ``:'a form`` >

Re: [Hol-info] How to prove this theorem about relations?

2017-01-18 Thread Chun Tian (binghe)
sig" > defines a map "rule_induction_map" that contains these induction theorems. > > If you want to get your hands on the strong induction theorem, I would > use DB.fetch, i.e. > > DB.fetch "-" "R_strongind" > > Cheers > > Thomas >

Re: [Hol-info] How to prove this theorem about relations?

2017-01-20 Thread Chun Tian (binghe)
nking about these sorts of things is lists. > Imagine you have: > > > > isAList l ó l = [] \/ ?h t. l = h::t /\ isAList t > > > > (where l ranges over a type large enough to encompass lists and lazy lists > both, and the isAList predicate is identifying the appropriate s

Re: [Hol-info] How to prove this theorem about relations?

2017-01-20 Thread Chun Tian (binghe)
on theorem too but no need to return it explicitly, like the R_strongind theorem. On 20 January 2017 at 12:07, Chun Tian (binghe) wrote: > Hi Michael, > > It took me some time to think about your words and learn co-induction. I'm > no expert, but I don't agree with the o

Re: [Hol-info] How to prove this theorem about relations?

2017-01-20 Thread Chun Tian (binghe)
List, then l is List. > > In fact the only subset satisfying these (which is therefore both the > least and the greatest) is the set of all lists. > > Think instead about > > Hol_reln `P (SUC n) ==> P n` ; (* no numbers *) > Hol_coreln `Q (SUC n) ==> Q n` ; (* all

Re: [Hol-info] How to prove this theorem about relations?

2017-01-20 Thread Chun Tian (binghe)
nciple. > > Q.prove ( > `!n. Q n`, > rw [] >> irule Q_coind >> qexists_tac `\x. T` >> rw []); > > Scott > >> On 2017/01/20, at 17:10, Chun Tian (binghe) wrote: >> >> Hi, >> >> Well, I tried your definitions about P and Q, th

[Hol-info] How to transform an assumption without touching the goal?

2017-01-20 Thread Chun Tian (binghe)
Hi, suppose currently I have a goal with several assumptions: P - a0 a1 ... A and a theorem th ``A ==> B`` Now I want to replace the last assumption A into B (and remove A), to reach this new status: P - a0 a1 … B I know the usage of POP_ASSUM, ASSUME_TAC, and MP, but

Re: [Hol-info] How to transform an assumption without touching the goal?

2017-01-20 Thread Chun Tian (binghe)
Hi Ramana, Thank you, it’s perfect. (I replaced FIRST_X_ASSUM with POP_ASSUM in my case) Regards, Chun > Il giorno 20 gen 2017, alle ore 22:25, Ramana Kumar > ha scritto: > > How about this? first_x_assum(strip_assume_tac o MATCH_MP th) > > On 21 January 2017 at 06:39,

Re: [Hol-info] Difficulties when migrating proof scripts from Coq

2017-01-22 Thread Chun Tian (binghe)
POP_ASSUM ACCEPT_TAC) >>>>> MATCH_MP_TAC CutRuleSimpl >>>>> EXISTS_TAC ``(Dot A (Backslash A B))`` >>>>> CONJ_TAC >>>> | [ MATCH_MP_TAC RightDot >>>>> CONJ_TAC THEN1 REWRITE_TAC [SeqAxiom] >>>&

Re: [Hol-info] Process algebra CCS in HOL?

2017-01-22 Thread Chun Tian (binghe)
uld > probably be good to read though... > > Michael > > On 24 May 2016, at 23:34, Chun Tian (binghe) wrote: > >> Hello, >> >> (I'm a school student trying to do some course projects using HOL-4) >> >> Monica Nesi ever wrote a Cambridge tec

[Hol-info] How to convert an EQ theorem to IMP theorem?

2017-01-22 Thread Chun Tian (binghe)
Hi, suppose I have the following theorem: th = |- !x. P x = Q x How can I convert it into this one? |- !x. P x ==> Q x As the first step, I tried "ONCE_REWRITE_RULE [EQ_IMP_THM] th", and got this: |- !x. (P x ==> Q x) /\ (Q x ==> P x) But then I don’t know how to benefit from AND1_THM (|- ∀t

Re: [Hol-info] Process algebra CCS in HOL?

2017-01-22 Thread Chun Tian (binghe)
hat porting the old code is turning out to be pretty > straightforward. > > Best wishes, > Michael > > On 22/1/17, 21:47, "Chun Tian (binghe)" wrote: > >Hello all, > >I’d like to report some progress about CCS in latest HOL. > >So

Re: [Hol-info] How to convert an EQ theorem to IMP theorem?

2017-01-22 Thread Chun Tian (binghe)
e conjunctions. (This has the > issue that it might disturb other universal quantifications within the P or > Q…) > > Michael > > On 23/1/17, 09:08, "Chun Tian (binghe)" wrote: > >Hi, > >suppose I have the following theorem: > &

Re: [Hol-info] deactivate newline-and-indent for sml-mode

2017-01-26 Thread Chun Tian (binghe)
I took a look into sml-mode.el and the documentation [1], it seems that the following Emacs configuration could disable the auto-indent triggered by return key: (defun my-sml-mode-hook () "Local defaults for SML mode" (setq electric-indent-chars '())) (add-hook 'sml-mode-hook 'my-sml-mode-h

[Hol-info] How to correctly define a binder (as pretty printer)?

2017-02-06 Thread Chun Tian (binghe)
Hi, Suppose I have the following definition about a predicate P (with a measure space m): val almost_everywhere_def = Define ` almost_everywhere m P = ?N. null_set m N /\ !x. x IN (UNIV DIFF N) ==> P x`; (I think you can safely think it as `almost_everywhere m P = !x. P x`.) Now my purpose

Re: [Hol-info] How to correctly define a binder (as pretty printer)?

2017-02-07 Thread Chun Tian (binghe)
ate_restriction ("AE", "almost_everywhere") > > Then, you can get the sort of effect you want by writing > > ``AE x::m. P`` > > The m will be a free variable, and the x will be bound in P. If you do a > dest_term on it, you will get > >

[Hol-info] How to define PAT_X_ASSUM to PAT_ASSUM in K11 final release (and before) and do nothing in K12 (and later version)?

2017-03-24 Thread Chun Tian (binghe)
Hi, Currently I’m doing several projects in HOL4, and fortunately Kananaskis-11 was finally released early this month, and for now I only use K-11 final release and not chasing and rebuild HOL from Git master any more. On the other side, I finally learnt to use PAT_X_ASSUM to “pop” any assump

[Hol-info] How to prove ``R = R'`` (two relations are equal) given the corresponding universally qualified form?

2017-03-24 Thread Chun Tian (binghe)
Hi again, If I have a theorem saying two (2-ary) relations are the same: |- R = R’ Then I can easily prove the following theorem using REWRITE_TAC: |- !x y. R x y = R’ x y But if I had the second one first, how to prove the previous one? Regards, Chun Tian signature.asc Description: Mess

Re: [Hol-info] How to prove ``R = R'`` (two relations are equal) given the corresponding universally qualified form?

2017-03-24 Thread Chun Tian (binghe)
ing > the theorem boolTheory.FUN_EQ_THM. > > Best > > Thomas > On 24.03.2017 21:42, Chun Tian (binghe) wrote: >> Hi again, >> >> If I have a theorem saying two (2-ary) relations are the same: >> >> |- R = R’ >> >> Then I can easily prove the following

Re: [Hol-info] How to prove ``R = R'`` (two relations are equal) given the corresponding universally qualified form?

2017-03-24 Thread Chun Tian (binghe)
m > Il giorno 24 mar 2017, alle ore 21:50, Thomas Tuerk > ha scritto: > > Hi Chun, > > use functional extensionality. There are many ways to do it, one is using > the theorem boolTheory.FUN_EQ_THM. > > Best > > Thomas > On 24.03.2017 21:42, Chun Tian (binghe) wr

Re: [Hol-info] How to define PAT_X_ASSUM to PAT_ASSUM in K11 final release (and before) and do nothing in K12 (and later version)?

2017-03-25 Thread Chun Tian (binghe)
PAT_X_ASSUM Static Errors > Il giorno 25 mar 2017, alle ore 04:02, Ramana Kumar > ha scritto: > > One thing you could try is to use Globals.version, e.g., > val PAT_X_ASSUM = if Globals.version < 12 then PAT_ASSUM else PAT_X_ASSUM; > > On 25 March 2017 at 07:32, Chun Tia

Re: [Hol-info] How to define PAT_X_ASSUM to PAT_ASSUM in K11 final release (and before) and do nothing in K12 (and later version)?

2017-03-25 Thread Chun Tian (binghe)
hat I can't > think of at the moment. (There's a trickier way using "use"...) > > On 25 March 2017 at 21:00, Chun Tian (binghe) wrote: > Hi… thanks, but it doesn’t work in HOL K11 final (where PAT_X_ASSUM is not > defined): > > -

Re: [Hol-info] How to define PAT_X_ASSUM to PAT_ASSUM in K11 final release (and before) and do nothing in K12 (and later version)?

2017-03-27 Thread Chun Tian (binghe)
Thanks! Now it’s much easier to understand:) —Chun > Il giorno 27 mar 2017, alle ore 13:46, Brian Campbell > ha scritto: > > On 25/03/17 12:19, Ramana Kumar wrote: >> OK... You could check directly whether "PAT_X_ASSUM" is bound in the >> PolyML global namespace, and enter it if necessary: >>

[Hol-info] Questions about RTC (reflexive transitive closure)

2017-04-07 Thread Chun Tian (binghe)
ove the following theorem RTC_INDUCT2 in relationTheory? (which looks like RTC2_ind generated in above definition) val RTC_INDUCT2 = store_thm( "RTC_INDUCT2", ``!R P. (!x. P x x) /\ (!x y z. P x y /\ R y z ==> P x z) ==> (!x (y:'a). RTC R x y ==> P x y)``,

Re: [Hol-info] Questions about RTC (reflexive transitive closure)

2017-04-07 Thread Chun Tian (binghe)
y)` suffices_by ( > SIMP_TAC std_ss [FUN_EQ_THM] THEN METIS_TAC[FUN_EQ_THM]) > THEN > > GEN_TAC THEN CONJ_TAC THENL [ > Induct_on `RTC2` THEN > METIS_TAC [RTC_RULES_RIGHT1], > > MATCH_MP_TAC RTC_INDUCT_RIGHT1 THEN > METIS_TAC[RTC2_rules] > ]); > &g

Re: [Hol-info] Questions about RTC (reflexive transitive closure)

2017-04-07 Thread Chun Tian (binghe)
ou can for > example try > > DB.print_match [] ``RTC`` > DB.print_match [] ``RTC _ x x`` > DB.print_find "RTC" > to find interesting theorems about RTC. > > Cheers > > Thomas > > > On 07.04.2017 12:51, Chun Tian (binghe) wrote: > > Hi Thomas, > > Th

Re: [Hol-info] Questions about RTC (reflexive transitive closure)

2017-04-07 Thread Chun Tian (binghe)
t; file. > > https://hol-theorem-prover.org/kananaskis-10-helpdocs/ > help/src-sml/htmlsigs/relationTheory.html#LinearOrder-val > > Best > > Thomas > > On 07.04.2017 13:07, Chun Tian (binghe) wrote: > > Thanks again, this is really convenient. > > Actually a la

Re: [Hol-info] Questions about RTC (reflexive transitive closure)

2017-04-07 Thread Chun Tian (binghe)
Ah ... thank you very much! Chun > Il giorno 07 apr 2017, alle ore 16:43, Konrad Slind > ha scritto: > > To print theory "foo" as html : > >DB.html_theory "foo"; > > Konrad. > > >> On Fri, Apr 7, 2017 at 6:50 AM, Chun Tian (bin

[Hol-info] Pretty printing of strings without double-quotes?

2017-04-23 Thread Chun Tian (binghe)
Hi, I have a simple data type based on strings: val _ = Datatype `Label = name string | coname string`; Is is possible to set up pretty-printing (or gammar) rules, such that: 1. The term `` `a` `` can be interpreted as `` name “a” `` 2. The term`` -`a` `` can be interpreted as `` coname “a” ``

Re: [Hol-info] Pretty printing of strings without double-quotes?

2017-04-24 Thread Chun Tian (binghe)
contexts. My inclination would be overload n to name, and > to overload unary negation to coname, and then you could write > > n"a" and -"a" > > Michael > > > On 24/4/17, 02:15, "Chun Tian (binghe)" wrote: > > Hi, > > I

[Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-04-24 Thread Chun Tian (binghe)
Hi, I have created some formal theories which builds successfully in all HOL modes (stdknl, expk and logknl). But when I added the following lines into my Holmakefile: ifeq ($(KERNELID),otknl) all: $(patsubst %Script.sml,%.ot.art,$(wildcard *Script.sml)) endif the build

Re: [Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-04-25 Thread Chun Tian (binghe)
be > able to debug it. It might take me a while to find time for it though. > > Cheers, > Ramana > > On 25 April 2017 at 05:38, Chun Tian (binghe) wrote: > Hi, > > I have created some formal theories which builds successfully in all HOL > modes (stdknl, expk and

Re: [Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-04-25 Thread Chun Tian (binghe)
ory failed: error in file "Test.art" around line 37270: trans 5016 def while executing trans command: terms not alpha-equivalent Regards, Chun Tian > Il giorno 25 apr 2017, alle ore 18:50, Chun Tian (binghe) > ha scritto: > > Hi Ramana, > > Thanks for your de

Re: [Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-04-28 Thread Chun Tian (binghe)
(λa1'. > # ∀'Dertree' '@temp @ind_typeTest0list' . > # (∀a0'. > # (∃a0 a1. > # (a0' = > # (λa0 a1. > # ind_type$CONSTR 0 a0 > #

Re: [Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-05-01 Thread Chun Tian (binghe)
r messages > you sent. > > On 29 April 2017 at 23:25, Chun Tian (binghe) wrote: > Hi Ramana, > > Thanks for fixing the issue. I have rebuilt HOL with 672f27ee9 included, now > previous error in file "Test.art" around line 37270 has disappeared, but we >

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-01 Thread Chun Tian (binghe)
Hi Liu, I hope my experiences could help a little: 1. In Ubuntu 16.04, there’s no need to build PolyML from source, you can use one of the following commands to install system package “polyml” (currently the version if 5.6, enough to build HOL): $ sudo apt-get install polyml $ sudo aptitude in

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-01 Thread Chun Tian (binghe)
The way you startup HOL is correct. But something unknown is wrong here. In this case, you should execute "bin/build cleanAll" and rebuild HOL. Or maybe just delete the whole “hol” directory and re-do everything again. > Il giorno 01 mag 2017, alle ore 15:17, Liu Gengyang > <2015200...@mail.buc

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-02 Thread Chun Tian (binghe)
/libpolymain.a . Regards, Chun > Il giorno 01 mag 2017, alle ore 15:15, Chun Tian (binghe) > ha scritto: > > Hi Liu, > > I hope my experiences could help a little: > > 1. In Ubuntu 16.04, there’s no need to build PolyML from source, you can use > one of the following

[Hol-info] Issues in kananaskis-11 release source tarball

2017-05-02 Thread Chun Tian (binghe)
Hi, The kananaskis-11 release source tarball (hol-kananaskis-11.tar.gz) [1] downloadable from HOL’s official site [2] has at least one missing file: bin/hol.ML. As a result, even the building process succeeds, HOL cannot startup … I think everyone who is trying to build HOL from the source tar

Re: [Hol-info] "terms not alpha-equivalent" when outputing OpenTheory files

2017-05-02 Thread Chun Tian (binghe)
to HOL (672f27ee9), which I think may fix the > problem in HOL's OpenTheory Logging module. > > Cheers, > Ramana > > On 28 April 2017 at 19:22, Chun Tian (binghe) wrote: > Hi, > > I see you have already consulted in OpenTheory mailing list and Joe Hurd has &g

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-02 Thread Chun Tian (binghe)
it. This file should include a line of the form val polymllibdir = "path-to-dir-containing-libpolymain.a"; > Il giorno 02 mag 2017, alle ore 17:51, Ian Zimmerman ha > scritto: > > On 2017-05-02 15:55, Chun Tian (binghe) wrote: > >> I forgot one thing: In moder

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-02 Thread Chun Tian (binghe)
) > > Does ldd say more useful things on the Linux systems where this appears to be > an issue? > > Having said all this, it’s also possible that using polyc everywhere makes it > unnecessary for HOL itself to know anything about this directory. I’ll have > to check this.

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-02 Thread Chun Tian (binghe)
contains libpolymain.a. > Il giorno 02 mag 2017, alle ore 22:04, Chun Tian (binghe) > ha scritto: > > Hi, > > I’m afraid that “ldd” command won’t give anything useful. On Ubuntu 16.04 > (x86_64), ldd gives the following outputs on “libpolyml.so” (the pointer > addr

Re: [Hol-info] Problem of Installation the latest HOL 4

2017-05-02 Thread Chun Tian (binghe)
) > libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fa5a7fa1000) > libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > (0x7fa5a7ca1000) > libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 > (0x7fa5a7a8b000) > libc.so.6 => /lib/

[Hol-info] Documentation for Hol_coreln?

2017-05-04 Thread Chun Tian (binghe)
Hi, Currently the "Hol_coreln" command in HOL4 seems undocumented. I wonder, is there any related paper or notes when this facility was added? I mainly want to know the purpose of the "cases" theorem returned by Hol_coreln (beside looking at source code). Thanks, -

Re: [Hol-info] Documentation for Hol_coreln?

2017-05-04 Thread Chun Tian (binghe)
case, such that R is the fixed point of F, e.g. F (R) = R ? Regards, Chun On 4 May 2017 at 14:17, wrote: > As with the cases theorem returned by Hol_reln, the cases theorem is > effectively an assertion that the relation is indeed a fix-point. > > > > Michael > &

Re: [Hol-info] Documentation for Hol_coreln?

2017-05-04 Thread Chun Tian (binghe)
I think I got it, it’s F(R) = {(0,0)} in this case ... > Il giorno 04 mag 2017, alle ore 14:53, Chun Tian (binghe) > ha scritto: > > Hi Michael, > > Thanks for quick response. I want to further ask, if I have the following > mini relation: > > val (R_rules, R_c

Re: [Hol-info] REWRITE_CONV fails

2017-05-05 Thread Chun Tian (binghe)
ere. > > There is QCONV. If a conversion raises UNCHANGED, it calls REFL. So > > QCONV (REWRITE_CONV thms) > > is what you are after, I believe. > Thomas > > On 05.05.2017 22:09, Chun Tian (binghe) wrote: >> Hi, >> >> The HOL System REFERENCE sai

[Hol-info] EmitTeX.print_theories_as_tex_doc can't overwrite existing files

2017-05-06 Thread Chun Tian (binghe)
Hi, When I use EmitTeX.print_theories_as_tex_doc to export theories into TeX documents, if the target TeX files already exist, the command reports HOL_ERR: File ../papers/references already exists. Exception- HOL_ERR {message = "File exists", origin_function = "failwith", origin_st

Re: [Hol-info] EmitTeX.print_theories_as_tex_doc can't overwrite existing files

2017-05-06 Thread Chun Tian (binghe)
); failwith "File exists”) meanwhile I can use OS.FileSys.remove () to delete old files before calling EmitTeX.print_theories_as_tex_doc () as I want. So there’s no issue at all. Regards, Chun > Il giorno 06 mag 2017, alle ore 15:28, Chun Tian (bingh

[Hol-info] Reverse operations of EQT_INTRO and EQF_INTRO?

2017-05-06 Thread Chun Tian (binghe)
Hi, We know that EQT_INTRO and EQF_INTRO can be used to convert an existing theorem into equation with ``= T`` or ``= F`` at right hand side. For instance: > EQT_INTRO (REFL ``A``); val it = |- (A = A) ⇔ T: thm But if I have a theorem returned by EQT_INTRO or EQF_INTRO, how can I go back to th

Re: [Hol-info] Reverse operations of EQT_INTRO and EQF_INTRO?

2017-05-06 Thread Chun Tian (binghe)
Sorry … I found nothing in boolTheory, but by guessing theorem names EQT_ELIM and EQF_ELIM are available... > Il giorno 06 mag 2017, alle ore 23:17, Chun Tian (binghe) > ha scritto: > > Hi, > > We know that EQT_INTRO and EQF_INTRO can be used to convert an existing >

[Hol-info] Changed order of qualified variables after SPEC_ALL and GEN_ALL

2017-05-07 Thread Chun Tian (binghe)
Hi, I found that, if I call SPEC_ALL on the theorem with qualified variables, and then call GEN_ALL on the resulting theorem, the order of qualified variables may get changed: > GEN_ALL (SPEC_ALL (ASSUME ``!A B C. B + C = A``)); val it = [.] |- ∀C B A. B + C = A: thm most of time, varia

Re: [Hol-info] Changed order of qualified variables after SPEC_ALL and GEN_ALL

2017-05-17 Thread Chun Tian (binghe)
h = ASSUME``∀x y. (f x y ⇔ g y x)`` > val th' = strip_forall_rule f th > [.] |- ∀x y. f x y ⇒ g y x > > On 7 May 2017 at 03:09, Chun Tian (binghe) wrote: > Hi, > > I found that, if I call SPEC_ALL on the theorem with qualified variables, and > then call GEN_ALL on

[Hol-info] Different variable orders between GENL and Q.GENL

2017-06-26 Thread Chun Tian (binghe)
Hi, Recently I found that, GENL and Q.GENL has different generalization orders: > GENL [``x``, ``y``, ``z``] (SPEC_ALL EQ_TRANS); val it = |- ∀x y z. (x = y) ∧ (y = z) ⇒ (x = z): thm > Q.GENL [`x`, `y`, `z`] (SPEC_ALL EQ_TRANS); val it = |- ∀z y x. (x = y) ∧ (y = z) ⇒ (x = z): thm s

[Hol-info] Difficulties in proving the termination of a recursive function

2017-07-01 Thread Chun Tian (binghe)
), which is automatically handled in the WF_REL_TAC approach. Can anyone suggest me some ideas or possible paths to resolve this issue? or possible ways to prove the WF of arbitrary relations? Since all the related defintions are long and omitted, I’m not expecting any ready-to-use scripts. Regard

Re: [Hol-info] Difficulties in proving the termination of a recursive function

2017-07-01 Thread Chun Tian (binghe)
> (∀l J p. R (p,J) (label l..p,J)) ∧ >>> (∀rf J p. R (p,J) (relab p rf,J)) ∧ (∀J p. R (p,J) (τ..p,J)) ∧ >>> ∀L J p. R (p,J) (ν L p,J) >>> >>> So the goal is nothing but to supply a relation such that, the parameter >>> pairs in each

Re: [Hol-info] Difficulties in proving the termination of a recursive function

2017-07-01 Thread Chun Tian (binghe)
-- >> --- >> load "stringLib"; >> >> Datatype `term = Var string | App term term | Abs string term`; >> >> val FV_def = >> Define >> `(FV (Var s) scope = if s IN

Re: [Hol-info] Difficulties in proving the termination of a recursive function

2017-07-01 Thread Chun Tian (binghe)
n On 1 July 2017 at 16:28, Chun Tian (binghe) wrote: > Hi again, > > I think it's possible to change the original definition to make the > cardinality *decrease* instead: previous I use the set J as the set of > constants that have already been processed, but I can als

Re: [Hol-info] Difficulties in proving the termination of a recursive function

2017-07-01 Thread Chun Tian (binghe)
> because J is *NOT* assumed to be FINITE. On 1 July 2017 at 16:51, Chun Tian (binghe) wrote: > No ... my previous idea doesn't work. I got this goal unprovable: > > CARD (J DELETE a) < CARD J > > a ∈ J > > because J is ass

[Hol-info] What's the recommended way to delete elements from list?

2017-07-02 Thread Chun Tian (binghe)
Hi, It seems that ListTheory didn’t provide a way to remove elements from list? What’s the recommended way to do such operation? Should I use FILTER, for example, like this? val DELETE_FROM_LIST = new_definition ( "DELETE_FROM_LIST", ``DELETE_FROM_LIST x list = (FILTER (\i. ~(i = x)) list)`

Re: [Hol-info] What's the recommended way to delete elements from list?

2017-07-02 Thread Chun Tian (binghe)
`` in place. > > Stylistically it's usually better to use Define instead of new_definition, > and to name defining theorems with a "_def" suffix. I'd also keep the name > short like "DELETE" or even "delete". > > On 2 Jul 2017 17:

[Hol-info] How to define "infinite sums" of custom datatypes?

2017-07-03 Thread Chun Tian (binghe)
Hi, Currently I have the following Datatype "(‘a, ‘b) CCS" which supports binary “sum” operation: val _ = Datatype `CCS = nil | var 'a | prefix ('b Action) CCS | sum CCS CCS ...`; I also have a recursive function for calculating

[Hol-info] Choosing an element from an infinite set according to an equivalence relation and a finite set?

2017-07-03 Thread Chun Tian (binghe)
Hi again ... Suppose I have the following things: 1. An equivalence relation R (|- equivalence R) for type ‘a 2. A ONE-ONE function f (:num->’a). It’s known that all its values are distinct according to R. 3. A finite set J of values of the same type. What theorems could assert the existence of

Re: [Hol-info] Choosing an element from an infinite set according to an equivalence relation and a finite set?

2017-07-05 Thread Chun Tian (binghe)
terday - I see it as a gift to myself:) Best regards, Chun On 5 July 2017 at 12:02, wrote: > A combination of the partition theorems and FINITE_WEAK_ENUMERATE would be > my guess… > > Michael > > On 3/7/17, 22:43, "Chun Tian (binghe)" wrote: > > Hi agai

Re: [Hol-info] How to define "infinite sums" of custom datatypes?

2017-07-05 Thread Chun Tian (binghe)
atatype", origin_structure = "Datatype"} raised What's the problem here? How can I correctly define such a datatype? Regards, Chun On 3 July 2017 at 13:22, Chun Tian (binghe) wrote: > Hi, > > Currently I have the following Datatype "(‘

Re: [Hol-info] How to define "infinite sums" of custom datatypes?

2017-07-10 Thread Chun Tian (binghe)
be to define a type using (CCS list), and to then quotient > the resulting type by the equivalence relation that collapses the lists. > > Michael > > From: "Chun Tian (binghe)" > Date: Wednesday, 5 July 2017 at 20:37 > To: hol-info > Subject: Re: [Hol-info] H

[Hol-info] A question about ordinals

2017-07-12 Thread Chun Tian (binghe)
Hi, I’m using the ordinalTheory and cardinalTheory (in "examples/set-theory/hol_sets”) with the following proposition unprovable: Suppose I have a ONE_ONE function (f :’a ordinal -> ‘b), and an infinite set (B: ‘b set), how can I assert the existence of an ordinal ``n`` such that ``(f n) NOTIN

Re: [Hol-info] A question about ordinals

2017-07-12 Thread Chun Tian (binghe)
ad Slind wrote: > I don't know a lot about this (even though I am responsible for > ordinalTheory) but > the Axiom of Infinity in HOL asserts the existence of an infinite set > without > saying how big it is. How do you know that B is not the same size as the > domain of f? > &

Re: [Hol-info] A question about ordinals

2017-07-12 Thread Chun Tian (binghe)
*my initial proposition IS NOT TRUE unless the infinite set B has the same type variable with the ordinals ... On 12 July 2017 at 23:21, Chun Tian (binghe) wrote: > Hi Konrad, > > Simply because the domain of f is the universe of some ordinals. Actually > I think my initial propos

Re: [Hol-info] A question about ordinals

2017-07-12 Thread Chun Tian (binghe)
FULL_SIMP_TAC std_ss [] ], (* goal 2 (of 2) *) FULL_SIMP_TAC std_ss [EXTENSION, GSPECIFICATION] \\ PROVE_TAC [] ]); > Il giorno 12 lug 2017, alle ore 23:32, Chun Tian (binghe) > ha scritto: > > *my initial proposition IS NOT TRUE unless the infinite set B has the

Re: [Hol-info] A question about ordinals

2017-07-12 Thread Chun Tian (binghe)
SPEC, since the quotation gets parsed in the context of > the goal that way. > For example, I'd replace your first PAT_X_ASSUM line with: > qpat_x_assum`!g. P`(qspec_then`...`mp_tac) > (or probably first_x_assum(qspec_then`...`mp_tac), since the pattern match > there isn't

Re: [Hol-info] A question about ordinals

2017-07-13 Thread Chun Tian (binghe)
l I go over the proof again to replace several tacticals with the ones I learnt from Ramana Kumar. --Chun On 13 July 2017 at 02:50, wrote: > I’m confused by the Cases_on `x < omega \/ x < omega`. Surely one copy of > x < omega would be enough. > > > > Michael > > &g

[Hol-info] On the use of new_axiom() in formal projects

2017-07-13 Thread Chun Tian (binghe)
() in my proof script. My questions: 1. What's the risk for a new_axiom() used on a new constant to break the consistency of entire HOL Logic? 2. With new_axiom() used, can I still claim that, I have correctly formalized the proof of that theorem? 3. (optional

Re: [Hol-info] On the use of new_axiom() in formal projects

2017-07-13 Thread Chun Tian (binghe)
ng strict Math notations and theorems from > related theories, I have full confidence to convince people that it's a > correct proof. > > But I do have used new_axiom() in my proof script. My questions: > > 1. What's the risk for a new_axiom() used on a new constant to

Re: [Hol-info] [ExternalEmail] Re: On the use of new_axiom() in formal projects

2017-07-13 Thread Chun Tian (binghe)
ant, you might replace the num > above with something else. Indeed, you could replace it with ‘a ordinal. > >Michael > >On 14/7/17, 04:15, "Chun Tian (binghe)" wrote: > >Hi Ramana, > >Thanks for explanation and hints. Now it’s clea

Re: [Hol-info] On the use of new_axiom() in formal projects

2017-07-21 Thread Chun Tian (binghe)
> general kind, which include, e.g., those that recurse through > bounded-cardinality powersets -- like the one you need. > > Best wishes, > > Andrei > > > Message: 1 > Date: Fri, 14 Jul 2017 08:47:38 +0200 > From: "Chun Tian (binghe)" >

Re: [Hol-info] [ExternalEmail] Re: On the use of new_axiom() in formal projects

2017-07-22 Thread Chun Tian (binghe)
datatype. The one I was working with was quite complicated, but yours > is much smaller. > > Konrad. > > > On Sat, Jul 22, 2017 at 2:58 AM, Chun Tian (binghe) > wrote: > Hi Knorad, > > Sorry for late response. Thank you very much for providing this sample > sc

[Hol-info] How to write a general EQ_CONV ?

2017-07-22 Thread Chun Tian (binghe)
Hi, If I have two terms s1 and s2 of type ``:string``, then string_EQ_CONV ``^s1 = ^s2`` returns a theorem like: |- ``^s1 = ^s2 = T`` or |- ``^s1 = ^s2 = F`` about the equality the two terms. But if I don’t know the types of s1 and s2, how can I achieve the same goal by finding a fun

Re: [Hol-info] How to write a general EQ_CONV ?

2017-07-23 Thread Chun Tian (binghe)
Description should tell you more. > > Konrad. > > > On Sat, Jul 22, 2017 at 4:23 PM, Chun Tian (binghe) > wrote: > >> Hi, >> >> If I have two terms s1 and s2 of type ``:string``, then >> >> string_EQ_CONV ``^s1 = ^s2`` >> >> ret

Re: [Hol-info] [ExternalEmail] Re: On the use of new_axiom() in formal projects

2017-07-24 Thread Chun Tian (binghe)
an arbitrary injective f, does it > hold for the particular f that you have defined? > > (There are plenty of injective functions between equi-numerous sets that are > not onto…) > > Michael > > On 23/7/17, 01:07, "Chun Tian (binghe)" wrote: > >Hi Konr

[Hol-info] How to reduce these lambda equations to F?

2017-08-04 Thread Chun Tian (binghe)
Hi, This is the first time I met the following goal, in which one of the assumptions should be able to reduce to F (then the goal is resolved): R (λt. t) 4. (λt. t) = (λt. prefix (label l) t) The lambda function has the type of ``CCS -> CCS``, which CCS i

Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-04 Thread Chun Tian (binghe)
new q as an argument) > `(\t. t) q = (\t. p) q` by PROVE_TAC[] > Now you are done by BETA reduction and contradicting assumptions. > > Best > > Thomas > > > On 04.08.2017 20:22, Chun Tian (binghe) wrote: >> Hi, >> >> This is the first time I me

Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-07 Thread Chun Tian (binghe)
ectively. > > Of course, this is a blunt weapon, so you may not wish to use it if other > assumptions are disrupted too much. > > Michael > > On 5/8/17, 04:25, "Chun Tian (binghe)" wrote: > >Hi, > >This is the first time I met the followi

Re: [Hol-info] Indentation of proof script in Emacs

2017-08-20 Thread Chun Tian (binghe)
Hi, I think everyone has his own proof script styles, and there’s no unique way of indentions fulfilling the favor of everyone. For me, I prefer the following style: val DIVIDES_0 = store_thm ( "DIVIDES_0”, ``!x. x divides 0``, metis_tac [divides_def,MULT_CLAUSES]); or val DIVIDES_0 =

Re: [Hol-info] Sad news regarding Mike Gordon

2017-08-22 Thread Chun Tian (binghe)
That’s so sad … this great person has just retired from University of Cambridge for one year and several months (if I recall correctly). He never hesitates to teach or encourage young people, even I as a fresh man in HOL community have received several e-mails in private from him during the past

Re: [Hol-info] HOL Light – Re: What is the practical (end-user level) difference between HOL4 and HOL Light?

2017-09-02 Thread Chun Tian (binghe)
My highly subjective opinions: as an end-user, I choose HOL4 over HOL light because I think and/or found: 1. Standard ML is a better language than OCaml (as a programming language); 2. Poly/ML is a better implementation than OCaml (as a language implementation); 3. HOL4 has a richer and more syst

Re: [Hol-info] How to find existing developments in HOL4?

2017-09-11 Thread Chun Tian (binghe)
which is suitable as the > foundation for further developments. > > If you know of an existing formalization of elementary topology in HOL4 > please let me know, so that I can avoid duplicating work. > > Regards. > > Note: It seems that you forgot to reply to the maili

  1   2   3   >