coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Marcus Ramos <marcus.ramos AT univasf.edu.br>
- To: Daniel Schepler <dschepler AT gmail.com>
- Cc: AUGER Cédric <sedrikov AT gmail.com>, Abhishek Anand <abhishek.anand.iitg AT gmail.com>, Maxime Dénès <mail AT maximedenes.fr>, coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Qed takes long time
- Date: Sat, 9 Nov 2013 13:18:05 -0200
Hi,
I advanced the demonstration a little bit, but I am stuck again. In the previous situation, I used "inversion H1" to split "s" into "s1+s2" in the goal. Now I have the same situation, but can´t use "inversion" anymore (I guess):
1 subgoals
r' : re
r'' : re
a'0 : f_automata
a''0 : f_automata
H : re_fa_equiv r' a'0
H0 : re_fa_equiv r'' a''0
s : string
H1 : fa_belongs_p s (fa_cat a'0 a''0)
______________________________________(1/1)
re_matches (re_cat r' r'') s
Any ideas on how to fix it? In other words, how can I apply the "re_matches_cat" constructor below to the current goal?
Thanks a lot,
Marcus.
2013/11/7 Marcus Ramos <marcus.ramos AT univasf.edu.br>
Hi,Thanks to previous suggestions, I am now using the inductive proposition below:Inductive re_matches: re -> string -> Prop:=| re_matches_eps: re_matches re_eps ""| re_matches_sym: forall c: ascii, re_matches (re_sym c) (chr_to_str c)| re_matches_cat: forall r1 r2: re, forall s1 s2: string, re_matches r1 s1 -> re_matches r2 s2 -> re_matches (re_cat r1 r2) (s1++s2)| re_matches_uni_l: forall r1 r2: re, forall s: string, re_matches r1 s -> re_matches (re_uni r1 r2) s| re_matches_uni_r: forall r1 r2: re, forall s: string, re_matches r2 s -> re_matches (re_uni r1 r2) s| re_matches_clo_n: forall r: re, re_matches (re_clo r) ""| re_matches_clo_c: forall r: re, forall s1 s2: string, re_matches r s1 -> re_matches (re_clo r) s2 -> re_matches (re_clo r) (s1++s2).and now I have the following situation in my demonstration of "re_fa_equiv":2 subgoalr' : rer'' : rea'0 : f_automataa''0 : f_automataH : re_fa_equiv r' a'0H0 : re_fa_equiv r'' a''0s : stringH1 : re_matches (re_cat r' r'') s______________________________________(1/2)fa_belongs s (fa_cat a'0 a''0) = true______________________________________(2/2)fa_belongs s (fa_cat a'0 a''0) = true -> re_matches (re_cat r' r'') sDoes anybody have an idea of how I can split "s" into "s1++s2" in hypothesis H1, so that I can then apply the constructor "re_matches_cat" to it?Thanks in advance,Marcus.
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/06/2013
- <Possible follow-up(s)>
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/07/2013
- Re: [Coq-Club] Qed takes long time, Daniel Schepler, 11/07/2013
- Re: [Coq-Club] Qed takes long time, AUGER Cédric, 11/07/2013
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/08/2013
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Daniel Schepler, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Daniel Schepler, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Daniel Schepler, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Marcus Ramos, 11/09/2013
- Re: [Coq-Club] Qed takes long time, Daniel Schepler, 11/09/2013
Archive powered by MHonArc 2.6.18.