Home |
Github |
split
is primarily used to break a single goal of the
form A /\ B
into two new goals A
and
B
.
You will often notice that split
seems to solve some of
the subgoals that it generates. This is because split
is
just shorthand for constructor 1
(see the constructor
tactic).
Looking at the definition of /\
(or
and
):
Inductive and (A B : Prop) : Prop := conj : A -> B -> A /\ B.
we can see that and
has a single constructor called
conj
- so constructor 1
simply reduces to
apply conj
, which would give us goals A
and
B
due to the impliciations that it carries.
split.
Before
=========================
1/1
True /\ False
split.
After
=========================
1/2
True
=========================
2/2
False