I'm wondering as destruct H as (H1 & H2).
on hypothesis H : p /\ q
creates two hypotheses H1 : p
and H2 : q
, if there is any tactic that does the other way around. That is, taking two hypotheses and creating one with conjunction of those.
Asked
Active
Viewed 546 times
1

Dan Johnson
- 71
- 6
1 Answers
2
Here are two possibilities, using the assert
tactic:
Goal forall A B : Prop, A -> B -> A /\ B.
Proof.
intros A B HA HB.
assert (H1 : A /\ B). { now split. }
assert (H2 := conj HA HB).
Abort.

Arthur Azevedo De Amorim
- 23,012
- 3
- 33
- 39
-
Thanks, @Arthur Azevedo De Amorim – Dan Johnson Oct 06 '20 at 22:54
-
I hope you don't mind if I piggyback another question here. Is it possible to instantiate a variable that I introduced to my context using `exists` to a specific value? I know that for existential variable, those with names starting with `?`, you can use `instantiate` tactic but I don't know how to do it in the case I mentioned. – Dan Johnson Oct 06 '20 at 22:58
-
@DanJohnson I will gladly try to answer that when I get a chance, but in the meanwhile you're probably better off posting a separate question. Someone else might come along first and answer you! ;) – Arthur Azevedo De Amorim Oct 07 '20 at 03:25