text:
A figure on chessboard! An unique and handmade painting from the oh Punaise! series, made in Paris.
Made in France.
Title: Number 4. Dimensions: H 24cm x W 0.2cm x L 30cm. Medium: Acrylic. Support: Canvas board. Series: OH PUNAISE paint by Jesse. © JESSE 2007-2015. All rights reserved. The canvas board has been prepared with two coats of Gesso. The painting is coated with a protective varnish and is ready to hang. This artwork is delivered with a certificate of authenticity and a handwritten signature on the back.
AHAlife is committed to help you live a conscious and inspired life.
Many of the items you discover here are exclusive to AHAlife, which is what makes our community of designers and artisans so special.
If you find one of our products anywhere else for less than it's being sold on our site, we will match it.
Our dedicated Support Team is here to help. Reach out any time at:


text: Real "life training" begins at home when your sister won't share her toys or when your little brother scribbles all over your new coloring book. It continues as you grow up and learn how to respond to daily trials and conflicts—big or small—that you experience at home. If you can't succeed at home in the "small conflicts," how will you be able to deal with bigger conflicts later in life?

subset: commoncrawl


text:
Protecode has launched Release 3.0 of its Software Lifecycle IP Management solutions. Protecode's software portfolio addresses issues related to software governance and legal compliance.
Release 3.0 includes capabilities for analysis of software including code in archives, interactive reports, source-code similarity analysis, and direct repository support for automatic analysis of files on check-in.
Protecode Software Lifecycle IP Management components include:
- Enterprise IP Analyzer analyzes existing source code or code received from contractors or outsourcers;
- Repository IP Checker verifies source code entered into the repository satisfies established IP policies;
- Developer IP Assistant provides real-time unobtrusive analyses of assembled source code at the developer workstation;
- Build IP Analyzer provides software Bill of Materials and verifies the source code consumed in a build process satisfies required obligations.


text:
Major Section: MISCELLANEOUS
double-rewrite is the
identity function:
(double-rewrite x) is equal to
x. However, the ACL2 rewriter treats
calls of
double-rewrite in the following special manner. When it
encounters a term
(double-rewrite u), it first rewrites
u in the current
context, and then the rewriter rewrites the result.
Such double-rewriting is rarely necessary, but it can be useful when rewriting under non-trivial equivalence relations (see equivalence). The following example will illustrate the issue.
; Define an equivalence relation. (defun my-equiv (x y) (equal x y)) (defequiv my-equiv)We might expect the proof of this final
; Define a unary function whose argument is preserved by my-equiv. (defun foo (x) (declare (ignore x)) t) (defcong my-equiv equal (foo x) 1)
; Define some other unary functions. (defun g (x) x) (defun h1 (x) x) (defun h2 (x) x)
; Prove some lemmas and then disable the functions above. (defthm lemma-1 (my-equiv (h1 x) (h2 x))) (defthm lemma-2 (foo (h2 x))) (defthm lemma-3 (implies (foo x) (equal (g x) x))) (in-theory (union-theories (theory 'minimal-theory) '(lemma-1 lemma-2 lemma-3 my-equiv-implies-equal-foo-1)))
; Attempt to prove a simple theorem that follows ``obviously'' from the ; events above. (thm (equal (g (h1 a)) (h1 a)))
thm to succeed by the following
reasoning. it is immediate from
lemma-3 provided we can establish
(foo (h1 a)). By the
defcong event above, we know that
(foo (h1 a)) equals
(foo (h2 a)) provided
(my-equiv (h1 a) (h2 a)); but this is immediate from
lemma-1. And
(foo (h2 a)) is true by
Unfortunately, the proof fails. But fortunately, ACL2 gives the following
useful warning when
lemma-3 is submitted:
ACL2 Warning [Double-rewrite] in ( DEFTHM LEMMA-3 ...): In the :REWRITE rule generated from LEMMA-3, equivalence relation MY-EQUIV is maintained at one problematic occurrence of variable X in hypothesis (FOO X), but not at any binding occurrence of X. Consider replacing that occurrence of X in this hypothesis with (DOUBLE-REWRITE X). See :doc double- rewrite for more information on this issue.We can follow the warning's advice by changing
lemma-3 to the following.
(defthm lemma-3 (implies (foo (double-rewrite x)) (equal (g x) x)))With this change, the proof succeeds for the final
thm above.
In practice, it should suffice for users to follow the advice given in the
Double-rewrite'' warnings, by adding calls of
double-rewrite around
certain variable occurrences. But we do not know if this is could cause
inefficiency in large proof efforts. For that reason, and for completeness,
it seems prudent to explain more carefully what is going on; and that is what
we do for the remainder of this documentation topic.
The reader who wants these details may first wish to see equivalence for relevant review.
The ACL2 rewriter takes a number of contextual arguments,
including the generated equivalence relation being maintained
(see congruence) and an association list that maps variables to terms. We
call the latter alist the
unify-subst because it is produced by unifying
(actually matching) a pattern against a current term; let us explain this
point by returning to the example above. Consider what happens when the
rewriter is given the top-level goal of the
thm above.
(equal (g (h1 a)) (h1 a))This rewrite is performed with the empty alist (
unify-subst), and is
begun by rewriting the first argument (in that same empty
(g (h1 a))Note that the only equivalence relation being maintained at this point is
equal. Now, the rewriter notices that the left-hand side of
which is
(g x), matches
(g (h1 a)). The rewriter thus creates a
unify-subst binding
x to
(h1 a):
((x . (h1 a))). It now
attempts to rewrite the hypothesis of
lemma-3 to
t under this
Consider what happens now if the hypothesis of
lemma-3 is
(foo x).
To rewrite this hypothesis under a
unify-subst of
((x . (h1 a))), it
will first rewrite
x under this
unify-subst. The key observation
here is that this rewrite takes place simply by returning the value of
in the
unify-subst, namely
(h1 a). No further rewriting is done!
The efficiency of the ACL2 rewriter depends on such caching of previous
rewriting results.
But suppose that, instead, the hypothesis of
lemma-3 is
(foo (double-rewrite x)). As before, the rewriter dives to the first
argument of this call of
foo. But this time the rewriter sees the call
(double-rewrite x), which it handles as follows. First,
x is
rewritten as before, yielding
(h1 a). But now, because of the call of
double-rewrite, the rewriter takes
(h1 a) and rewrites it under the
unify-subst. What's more, because of the
defcong event above,
this rewrite takes place in a context where it suffices to maintain the
equivalence relation
my-equiv. This allows for the application of
lemma-1, hence
(h1 a) is rewritten (under
unify-subst =
(h2 a). Popping back up, the rewriter will now rewrite the call of
foo to
t using
The example above explains how the rewriter treats calls of
double-rewrite, but it may leave the unfortunate impression that the user
needs to consider each
rewrite or
linear rule
carefully, just in case a call of
double-rewrite may be appropriate.
Fortunately, ACL2 provides a ``[Double-rewrite]'' warning to inform the user
of just this sort of situation. If you don't see this warning when you
submit a (
rewrite or
linear) rule, then the issue
described here shouldn't come up for that rule.
If you do see a ``[Double-rewrite]'' warning, then should you add the
indicated call(s) of
double-rewrite? At the time of writing this
documentation, the answer is not clear. Early experiments with double
rewriting suggested that it may be too expensive to call
in every instance where a warning indicates that there could be an advantage
to doing so. And at the time of this writing, the ACL2 regression suite has
over 1300 such warnings (with all books were developed before
double-rewrite or the ``[Double-rewrite]'' warning were implemented),
which suggests that one can often do fine just ignoring such warnings.
However, it seems advisable to go ahead and add the calls of
double-rewrite indicated by the warnings unless you run acrossan
efficiency problems caused by doing so. Of course, if you decide to ignore
all such warnings you can execute the event:
Finally, we note that it is generally not necessary to call
double-rewrite in order to get its effect in the following case, where
the discussion above might have led one to consider a call of
double-rewrite: a hypothesis is a variable, or more generally, we are
considering a variable occurrence that is a branch of the top-level
structure of a hypothesis. The automatic handling of this case, by a form of
double rewriting, was instituted in ACL2 Version_2.9 and remains in place
with the introduction of
double-rewrite. Here is a simple illustrative
example. Notice that
foo-holds applies to prove the final
below, even without a call of
double-rewrite in the hypothesis of
foo-holds, and that there is no ``[Double-rewrite]'' warning when
(encapsulate (((foo *) => *) ((bar *) => *))
(local (defun foo (x) (declare (ignore x)) t)) (local (defun bar (x) (declare (ignore x)) t))
(defthm foo-holds (implies x (equal (foo x) t))) (defthm bar-holds-propositionally (iff (bar x) t))) (thm (foo (bar y)))


text:
You may know your blood type – but do you know whether or not you're a secretor or a non-secretor? Most people have no idea that this blood typing sub-system even exists, but in truth, knowing which category you fall into can help you to make the most of your health.
The concepts of secretors and non-secretors were first introduced to the public by Dr. Peter D'Adamo's book Eat Right 4 Your Blood Type. In his book, Dr. D'Adamo posits that differences in blood type make people respond differently to various diets and medical treatments, and are the reason why some people are more vulnerable to certain illnesses and maladies than others. Each blood type, he says, has a distinct chemical reaction to lectins – substances found in foods. When a person eats a food containing lectins that are incompatible with his or her blood type, those lectins target a certain area and cause blood cells in that area to clump (or agglutinate), leading to uncomfortable symptoms. Continuing to ingest the offensive food will make the person susceptible to disease in the areas where the agglutination occurs.
Whether you're a secretor or a non-secretor is completely independent of your blood type, but just as important when it comes to understanding any metabolic dysfunctions and immune susceptibilities. Simply put, a secretor is a person whose body secretes its blood type antigens into its fluids – saliva, mucus, etc. A non-secretor does not. (Approximately 80% of the general population are estimated to be secretors.) And while no one blood type is better than the others, it is thought better to be a secretor than a non-secretor. The ability to secrete blood type antigens into your bodily fluids offers enhanced protection against outside factors such as potentially harmful microorganisms and the lectins from the food you eat. Secretors also have a more accomodating intestinal environment in which beneficial probiotic bacteria can thrive, since blood type can be used as a food source for such bacteria. Non-secretors on the other hand, because their bodies don't infuse their fluids with blood type antigens, have tendencies toward:
• Higher rates of oral disease, including more cavities – and, interestingly, habitual snoring
• Digestive problems, such as inflammation and ulcers
• A more prevalent rate of autoimmune disorders, such as multiple sclerosis
• Lungs that are more susceptible to environmental factors and cigarette smoking
• A greater risk of diabetes and heart disease
• A greater risk for recurrent urinary tract and Candida (yeast) infections
• An increased association with alcoholism
• More difficulty breaking down dietary fat and properly metabolizing calcium
• An increased intolerance to carbohydrates
Your "secretor/non-secretor" status, in conjunction with your blood type, also determines the viscosity and clotting time of your blood. So you see? Since many of your bodily functions and responses are influenced by your secretor status, knowing which you are can be a valuable tool in determining how to take the best care of yourself – and how to feel better than ever.
Secretor status
Antigens are present in the blood and, in most individuals, in bodily fluids such as saliva. If antigens are present in your bodily fluids, you are known as a 'secretor'. If they are not present in your bodily fluids, you are a 'non-secretor'. This fact is important for the diet, so it is important that you find out your secretor status.
Some researchers have found a correlation between Rhesus status and Secretor status. If you are unable to determine your Secretor status, a general rule of thumb is that Rhesus + usually denotes a secretor, and Rhesus – usually denotes a non-secretor. This research has not been sufficiently documented at this stage, so if possible and if available in your country, a test for secretor status should be done at the same time as the test for your blood type.
Secretors are shown as '1' and non-secretors as '2', for example, A1 (secretor) or A2 (non-secretor).
Find out more in the book Secrets of the Serpent Bloodline by Tau Tia L Douglass