omega
(или lia
, который - как указал @Anton Trunov - вы должны использовать вместо этого) работает с целыми числами и пытается доказать свойства о них или вывести ложь из противоречия в них. Следовательно, он способен справиться с False
в вашей цели. True
однако не имеет к этому никакого отношения. omega
не следует рассматривать как универсальную тактику c, она действительно имеет дело с натуральными числами или целыми числами.
На самом деле lia
может решить вашу цель, но я бы не стал полагаться на то, чтобы иметь дело с вещами, которые не имеют ничего общего с числами. В вашем случае, если вы придерживаетесь omega
(или переключаетесь на lia
и в конечном итоге получаете еще одну похожую цель, которую он не может решить), вы можете комбинировать ее с другой тактикой c, такой как тактическая intuition
:
Theorem tst3 :
forall (a b c : nat),
(a = b + 1 /\ b = 0) ->
(False \/ (a >= 1 /\ True)).
Proof.
intros.
intuition omega.
Qed.