Built with Alectryon, running Coq+SerAPI v8.13.0+0.13.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
Notation"[ rel _ _ | _ ]" was already used in scope
fun_scope. [notation-overridden,parsing]
Notation"[ rel _ _ : _ | _ ]" was already used in
scope fun_scope. [notation-overridden,parsing]
Notation"[ rel _ _ in _ & _ | _ ]" was already used
in scope fun_scope. [notation-overridden,parsing]
Notation"[ rel _ _ in _ & _ ]" was already used in
scope fun_scope. [notation-overridden,parsing]
Notation"[ rel _ _ in _ | _ ]" was already used in
scope fun_scope. [notation-overridden,parsing]
Notation"[ rel _ _ in _ ]" was already used in scope
fun_scope. [notation-overridden,parsing]
Notation"_ + _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ - _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ <= _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ < _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ >= _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ > _" was already used in scope nat_scope.
[notation-overridden,parsing]
Notation"_ <= _ <= _" was already used in scope
nat_scope. [notation-overridden,parsing]
Notation"_ < _ <= _" was already used in scope
nat_scope. [notation-overridden,parsing]
Notation"_ <= _ < _" was already used in scope
nat_scope. [notation-overridden,parsing]
Notation"_ < _ < _" was already used in scope
nat_scope. [notation-overridden,parsing]
Notation"_ * _" was already used in scope nat_scope.
[notation-overridden,parsing]
From hanoi Require Import ghanoi gdist.Set Implicit Arguments.Unset Strict Implicit.Unset Printing Implicit Defensive.(******************************************************************************)(* *)(* Generalised Hanoi Problem with only 3 pegs *)(* *)(******************************************************************************)SectionGHanoi3.(******************************************************************************)(* The pegs are the three elements of 'I_3 *)(******************************************************************************)Implicit Typep : peg 3.Letpeg1 : peg 3 := ord0.Letpeg2 : peg 3 := inord 1.Letpeg3 : peg 3 := inord 2.
peg1:=ord0:peg 3
peg2:=inord 1:peg 3
peg3:=inord 2:peg 3
p:peg 3
[\/ p = peg1, p = peg2 | p = peg3]
2
bycase: p => [] [|[|[|]]] // H; [apply: Or31|apply: Or32|apply: Or33];
apply/val_eqP; rewrite //= inordK.Qed.(* Finding the free peg that differs from p1 and p2 *)