[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
[mizar] strict
I'm working on defining the field 2 = {0,1} with the usual operations
and thus want to define a term, say F2, which looks like
definition
func F2 -> Field equals doubleLoopStr (# ... #);
end;
The proof that F2 is a field is going to be fairly long, as far as I
can see, so I've decided to do things somewhat less directly. I
define F2 as
definition
func F2 -> doubleLoopStr equals
doubleLoopStr(# {0,1}, add2, prod2, unit2, zero2 #);
coherence;
end;
(I've defined add2, prod2, unit2, and zero2 in the required ways.) My
goal is
theorem F2 is Field;
I accomplish this by proving that F2 has the attributes
- non degenerated
- Field-like
- right_complementable
- Abelian
- right_complementable
- associative
- commutative
- left_unital
- non empty
- right_zeroed
- add-associative, and
- strict.
The last attribute is troubling me; I don't see how to prove that my
doubleLoopStr is strict. Actually, I don't even know what "strict"
means. What confuses me is that unlike all the other attributes,
there doesn't seem to be a definition of what it means to be a strict
doubleLoopStr; moreover, when I browse
http://mmlquery.mizar.org/mmlquery/fillin.php?filledfilename=phparticle.mqt&argument=article+vectsp_1
I see that there appears to be something like a definition:
definition
let a1 be doubleLoopStr;
attr a1 is strict;
end;
but when I browse VECTSP_1.MIZ, I don't see any definition of strict
for doubleLoopStr's. What's going on? What does "strict" mean? How
can I prove that a doubleLoopStr is strict?
Thanks,
Jesse
--
Jesse Alama (alama@stanford.edu)
*10: Too many basic sentences in an inference