1

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.

1 Answers1

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