comparison src/MoreDep.v @ 367:b809d3a8a5b1

Pass over old Large material; index fixes
author Adam Chlipala <adam@chlipala.net>
date Tue, 08 Nov 2011 11:54:09 -0500
parents ad315efc3b6b
children 549d604c3d16
comparison
equal deleted inserted replaced
366:03e200599633 367:b809d3a8a5b1
640 Section present. 640 Section present.
641 Variable z : nat. 641 Variable z : nat.
642 642
643 (** The variable [z] stands for an arbitrary key. We will reason about [z]'s presence in particular trees. As usual, outside the section the theorems we prove will quantify over all possible keys, giving us the facts we wanted. 643 (** The variable [z] stands for an arbitrary key. We will reason about [z]'s presence in particular trees. As usual, outside the section the theorems we prove will quantify over all possible keys, giving us the facts we wanted.
644 644
645 We start by proving the correctness of the balance operations. It is useful to define a custom tactic [present_balance] that encapsulates the reasoning common to the two proofs. We use the keyword %\index{Verncular commands!Ltac}%[Ltac] to assign a name to a proof script. This particular script just iterates between [crush] and identification of a tree that is being pattern-matched on and should be destructed. *) 645 We start by proving the correctness of the balance operations. It is useful to define a custom tactic [present_balance] that encapsulates the reasoning common to the two proofs. We use the keyword %\index{Vernacular commands!Ltac}%[Ltac] to assign a name to a proof script. This particular script just iterates between [crush] and identification of a tree that is being pattern-matched on and should be destructed. *)
646 646
647 Ltac present_balance := 647 Ltac present_balance :=
648 crush; 648 crush;
649 repeat (match goal with 649 repeat (match goal with
650 | [ _ : context[match ?T with 650 | [ _ : context[match ?T with