2015-05-16 3 views
0

Я хочу, чтобы доказать это:Как доказать х + у - г = х + (у - г) в Coq

1 subgoals 
x : nat 
y : nat 
z : nat 
______________________________________(1/1) 
x + y - z = x + (y - z) 

Это выглядит тривиальным, но запутать меня много, и мне это нужно другое доказательство.

Спасибо.

ответ

4

То, что вы пытаетесь доказать, не выполняется, если y < = z, потому что с nat a-b равно нулю, если < = b.

Omega - полезная тактика, используемая для неравенства и простой арифметики над nat.

Require Import Omega. 
Theorem foo: 
    forall x y z:nat, (x = 0 \/ z <= y) <-> x + y - z = x + (y - z). 
    intros; omega. 
Qed. 

Однако, ваша личность, конечно, справедливо и для целых Z.

Require Import ZArith. 
Open Scope Z. 
Theorem fooZ: 
    forall x y z:Z, x + y - z = x + (y - z). 
    intros; omega. 
Qed. 
+0

Это работает, спасибо большое. :) – Moody

+0

Вы отметите вопрос как ответ? (Нажмите галочку рядом с вопросом) – larsr

Смежные вопросы