File: bug_15501.v

package info (click to toggle)
coq 8.20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 44,116 kB
  • sloc: ml: 234,160; sh: 4,301; python: 3,270; ansic: 2,644; makefile: 882; lisp: 172; javascript: 63; xml: 24; sed: 2
file content (13 lines) | stat: -rw-r--r-- 596 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
Axiom word : nat -> Set.
Axiom wones : forall (sz : nat), word sz.

Axiom combine : forall (sz1 : nat) (w : word sz1), forall sz2, word sz2 -> word (sz1 + sz2).
Axiom split1 : forall (sz1 sz2 : nat), word (sz1 + sz2) -> word sz1.
Axiom bitwp : forall (f : bool -> bool -> bool) sz (w1 : word sz), word sz -> word sz.
Axiom split1_combine : forall sz1 sz2 (w : word sz1) (z : word sz2), split1 sz1 sz2 (combine _ w _ z) = w.

Theorem wnot_split1 : forall sz1 sz2 w w', w' = split1 sz1 sz2 (bitwp xorb _ (wones (sz1 + sz2)) w).
Proof.
intros.
erewrite <- split1_combine with (w := wones _).
Abort.