Редактирование: Изображение:Pvs tree.png

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
Автор: Игорь Бронштейн.
+
Автор: Василий Мерзляков.
-
 
+
-
Исходный dot-файл:
+
-
<pre>
+
-
digraph PVSTree {
+
-
"node0" [
+
-
label = "{ |[1] FORALL (i : nat) : (i \> 7) IMPLIES EXIST (t : nat, f : nat) : i = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node1" [
+
-
label = "(induct \"i\")"
+
-
]
+
-
"node0" -> "node1"
+
-
"node2" [
+
-
label = "{ |[1] (0 \> 7) IMPLIES EXIST (t : nat, f : nat) : 0 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node1" -> "node2" [label = "базис индукции"]
+
-
"node3" [
+
-
label = "(flatten 1)"
+
-
]
+
-
"node2" -> "node3"
+
-
"node4" [
+
-
label = "{[-1] 0 \> 7|[1] EXIST (t : nat, f : nat) : 0 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node3" -> "node4"
+
-
"node7" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node4" -> "node7"
+
-
"node8" [
+
-
label = "{ |[1] FORALL (j : nat) :\n(j \> 7) IMPLIES EXIST (t : nat, f : nat) : j = 3 * t + 5 * f\nIMPLIES\n(j + 1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node1" -> "node8" [label = "индуктивный переход"]
+
-
"node9" [
+
-
label = "(skolem! 1)"
+
-
]
+
-
"node8" -> "node9"
+
-
"node10" [
+
-
label = "{ |[1] (j!1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j!1 = 3 * t + 5 * f\nIMPLIES\n(j!1 + 1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node9" -> "node10"
+
-
"node11" [
+
-
label = "(flatten 1)"
+
-
]
+
-
"node10" -> "node11"
+
-
"node12" [
+
-
label = "{[-1] (j!1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j!1 = 3 * t + 5 * f|[1] (j!1 + 1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node11" -> "node12"
+
-
"node13" [
+
-
label = "(flatten 1)"
+
-
]
+
-
"node12" -> "node13"
+
-
"node14" [
+
-
label = "{[-1] j!1 + 1 \> 7\n[-2] (j!1 \> 7) IMPLIES EXIST (t : nat, f : nat) : j!1 = 3 * t + 5 * f|[1] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node13" -> "node14"
+
-
"node15" [
+
-
label = "(split -2)"
+
-
]
+
-
"node14" -> "node15"
+
-
"node16" [
+
-
label = "{[-1] EXIST (t : nat, f : nat) : j!1 = 3 * t + 5 * f\n[-2] j!1 + 1 \> 7|[1] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node15" -> "node16" [label = "следствие в антецеденты"]
+
-
"node17" [
+
-
label = "(skolem! -1)"
+
-
]
+
-
"node16" -> "node17"
+
-
"node18" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * f!1\n[-2] j!1 + 1 \> 7|[1] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node17" -> "node18"
+
-
"node19" [
+
-
label = "(case \"f!1 = 0\")"
+
-
]
+
-
"node18" -> "node19"
+
-
"node20" [
+
-
label = "{[-1] f!1 = 0\n[-2] j!1 = 3 * t!1 + 5 * f!1\n[-3] j!1 + 1 \> 7|[1] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node19" -> "node20"
+
-
"node21" [
+
-
label = "(inst 1 \"t!1 - 3\" \"2\")"
+
-
]
+
-
"node20" -> "node21"
+
-
"node22" [
+
-
label = "{[-1] f!1 = 0\n[-2] j!1 = 3 * t!1 + 5 * f!1\n[-3] j!1 + 1 \> 7|[1] j!1 + 1 = 3 * (t!1 - 3) + 5 * 2}"
+
-
shape = "record"
+
-
]
+
-
"node21" -> "node22"
+
-
"node23" [
+
-
label = "(replace -1)"
+
-
]
+
-
"node22" -> "node23"
+
-
"node24" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * 0\n[-2] j!1 + 1 \> 7|[1] j!1 + 1 = 3 * (t!1 - 3) + 5 * 2}"
+
-
shape = "record"
+
-
]
+
-
"node23" -> "node24"
+
-
"node25" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node24" -> "node25"
+
-
"node26" [
+
-
label = "{[-1] f!1 = 0\n[-2] j!1 = 3 * t!1 + 5 * f!1\n[-3] j!1 + 1 \> 7|[1] t!1 - 3 \>= 0}"
+
-
shape = "record"
+
-
]
+
-
"node21" -> "node26"
+
-
"node27" [
+
-
label = "(replace -1)"
+
-
]
+
-
"node26" -> "node27"
+
-
"node28" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * 0\n[-2] j!1 + 1 \> 7|[1] t!1 - 3 \>= 0}"
+
-
shape = "record"
+
-
]
+
-
"node27" -> "node28"
+
-
"node29" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node28" -> "node29"
+
-
"node30" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * f!1\n[-2] j!1 + 1 \> 7|[1] f!1 = 0\n[2] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node19" -> "node30"
+
-
"node31" [
+
-
label = "(inst 2 \"t!1 + 2\" \"f!1 - 1\")"
+
-
]
+
-
"node30" -> "node31"
+
-
"node32" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * f!1\n[-2] j!1 + 1 \> 7|[1] j!1 + 1 = 3 * (t!1 + 2) + 5 * (f!1 - 1)\n[2] f!1 = 0}"
+
-
shape = "record"
+
-
]
+
-
"node31" -> "node32"
+
-
"node33" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node32" -> "node33"
+
-
"node34" [
+
-
label = "{[-1] j!1 = 3 * t!1 + 5 * f!1\n[-2] j!1 + 1 \> 7|[1] f!1 - 1 \>= 0\n[2] f!1 = 0}"
+
-
shape = "record"
+
-
]
+
-
"node31" -> "node34"
+
-
"node35" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node34" -> "node35"
+
-
"node36" [
+
-
label = "{[-1] j!1 + 1 \> 7|[1] j!1 \> 7\n[2] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node15" -> "node36" [label = "посылку в консеквенты"]
+
-
"node37" [
+
-
label = "(case \"j!1 = 7\")"
+
-
]
+
-
"node36" -> "node37"
+
-
"node38" [
+
-
label = "{[-1] j!1 = 7\n[-2] j!1 + 1 \> 7|[1] j!1 \> 7\n[2] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node37" -> "node38"
+
-
"node39" [
+
-
label = "(inst 2 \"1\" \"1\")"
+
-
]
+
-
"node38" -> "node39"
+
-
"node40" [
+
-
label = "{[-1] j!1 = 7\n[-2] j!1 + 1 \> 7|[1] j!1 \> 7\n[2] j!1 + 1 = 3 * 1 + 5 * 1}"
+
-
shape = "record"
+
-
]
+
-
"node39" -> "node40"
+
-
"node41" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node40" -> "node41"
+
-
"node42" [
+
-
label = "{[-1] j!1 + 1 \> 7|[1] j!1 = 7\n[2] j!1 \> 7\n[3] EXIST (t : nat, f : nat) : j!1 + 1 = 3 * t + 5 * f}"
+
-
shape = "record"
+
-
]
+
-
"node37" -> "node42"
+
-
"node43" [
+
-
label = "(assert)"
+
-
style = "filled"
+
-
fillcolor = "green"
+
-
]
+
-
"node42" -> "node43"
+
-
}
+
-
</pre>
+

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Разделы