coq
Поиск существующего факта с помощью поиска и вариантов
Поиск…
Синтаксис
-
Search qualid.(* для Coq 8.4 и более поздних версий *) -
SearchAbout qualid.(* устаревший синоним. *)
параметры
| параметр | Описание |
|---|---|
qualid | Идентификатор или шаблон для поиска. Он может включать в себя записи |
замечания
До Coq 8.4 Search имел смысл текущего SearchHead : только поиск фактов, где шаблон соответствует в заключении оператора.
Факты о конкретном идентификаторе
Чтобы увидеть все факты, связанные с отношением le из прелюдии:
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
...
Поиск всех фактов, связанных с обозначением < :
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
...
Поиск шаблона
Искать все факты, связанные с шаблоном в гипотезе или заключении:
Coq < Search (_ + O).
plus_n_O: forall n : nat, n = n + 0
Символ _ служит в качестве подстановочного знака, его можно использовать несколько раз:
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
Вы также можете искать нелинейные шаблоны:
Coq < Search (?x <= ?x).
le_n: forall n : nat, n <= n
Поиск шаблона при заключении леммы
Найдите лемму, когда вы знаете, каково ее заключение:
Coq < SearchPattern (S _ <= _).
le_n_S: forall n m : nat, n <= m -> S n <= S m
Вы также можете искать частичное заключение (заключение и одну или несколько последних гипотез).
Coq < Require Import Arith.
Coq < SearchPattern (?x <= ?y -> ?y <= _ -> ?x <= _).
Nat.le_trans: forall n m p : nat, n <= m -> m <= p -> n <= p
Предупреждение: если вы смешаете порядок гипотез, вы ничего не найдете:
Coq < SearchPattern (?y <= _ -> ?x <= ?y -> ?x <= _).
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow