coq
Söker efter ett befintligt faktum med Sök och varianter
Sök…
Syntax
-
Search qualid.(* för Coq 8.4 och nyare versioner *) -
SearchAbout qualid.(* avskrivet synonym. *)
parametrar
| Parameter | Beskrivning |
|---|---|
qualid | Identifieraren eller mönstret att söka efter. Det kan involvera notationer |
Anmärkningar
Före Coq 8.4 hade Search betydelsen av det aktuella SearchHead : sök bara efter fakta där mönstret matchar i slutsatsen.
Fakta om en viss identifierare
För att se alla sakförhållanden och le relation från förspel:
Coq < Search le.
le_n: forall n : nat, n <= n
le_S: forall n m : nat, n <= m -> n <= S m
...
max_l: forall n m : nat, m <= n -> Nat.max n m = n
max_r: forall n m : nat, n <= m -> Nat.max n m = m
...
Så här söker du efter alla fakta om notationen < :
Coq < Search "<".
exists_lt: forall (Q : nat -> Prop) (k l : nat), exists_between Q k l -> k < l
in_int_intro: forall p q r : nat, p <= r -> r < q -> in_int p q r
in_int_lt: forall p q r : nat, in_int p q r -> p < q
...
Söker efter ett mönster
Sök efter alla fakta som involverar ett mönster i en hypotes eller slutsats:
Coq < Search (_ + O).
plus_n_O: forall n : nat, n = n + 0
Tecknet _ fungerar som ett jokertecken, det kan användas flera gånger:
Coq < Search (S _ <= _).
le_S_n: forall n m : nat, S n <= S m -> n <= m
le_n_S: forall n m : nat, n <= m -> S n <= S m
Du kan också söka efter icke-linjära mönster:
Coq < Search (?x <= ?x).
le_n: forall n : nat, n <= n
Söker efter ett mönster i slutet av ett lemma
Sök efter ett lemma när du vet vad dess slutsats borde vara:
Coq < SearchPattern (S _ <= _).
le_n_S: forall n m : nat, n <= m -> S n <= S m
Du kan också söka på en partiell slutsats (slutsatsen och en eller flera sista hypoteser).
Coq < Require Import Arith.
Coq < SearchPattern (?x <= ?y -> ?y <= _ -> ?x <= _).
Nat.le_trans: forall n m p : nat, n <= m -> m <= p -> n <= p
Varning: om du blandar in hypotesernas ordning hittar du ingenting:
Coq < SearchPattern (?y <= _ -> ?x <= ?y -> ?x <= _).
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow