Мучаю коковские тактики
Sep. 30th, 2008 10:50 pmУ него там неонка дджин внутри. Тактика tauto доказывает пропозициональные тавтологии, монтируя лямбда-терм подходящего типа
Но можно и примитивными тактиками intros; apply H; apply H0; assumption:( Read more... )Всякому видно, что при ручной работе и терм-композитор выходит кратким и выразительным, не то что эти вложенные let'ы ;-)
Coq < Variables A B C : Prop. A is assumed B is assumed C is assumed Coq < Lemma he_he : (B -> C) -> (A -> B) -> A -> C. 1 subgoal A : Prop B : Prop C : Prop ============================ (B -> C) -> (A -> B) -> A -> C he_he < tauto. Proof completed. he_he < Qed. tauto. he_he is defined Coq < Print he_he. he_he = fun (H : B -> C) (H0 : A -> B) (H1 : A) => let H2 := H0 H1 in let H3 := H H2 in H3 : (B -> C) -> (A -> B) -> A -> CЗдесь fun вместо лямбды и типизация связанных в лямбда-терме переменных явная, чёрчевская.
Но можно и примитивными тактиками intros; apply H; apply H0; assumption:( Read more... )Всякому видно, что при ручной работе и терм-композитор выходит кратким и выразительным, не то что эти вложенные let'ы ;-)