ABSTRACT ALGEBRA. Second Edition. Charles C. Pinter. Professor of Mathematics. Bucknell University. Dover Publications, Inc., Mineola, New York. MA Introduction to Abstract Algebra. Samir Siksek. Mathematics Institute. University of Warwick. DIRE WARNING: These notes are printed on paper laced. I covered this material in a two-semester graduate course in abstract algebra in The main novelty is that most of the standard exercises in abstract algebra are.
|Language:||English, Spanish, Dutch|
|Genre:||Fiction & Literature|
|ePub File Size:||16.80 MB|
|PDF File Size:||20.84 MB|
|Distribution:||Free* [*Sign up for free]|
subject of abstract algebra and no student should go through such a However, one of the major problems in teaching an abstract algebra. then you might get something along the lines of: “Algebra is the abstract The central idea behind abstract algebra is to define a larger class of objects (sets. The purpose of this book is to complement the lectures and thereby decrease, but not eliminate, the necessity of taking lecture notes. Reading the appropri-.
Skip to main content. Log In Sign Up. Suddiyas Nawaz. Introductory linear algebra: Hill p.
And there is a relationship between the movie, which is about a virtual reality constructed by super-smart computers, and the notion of what a matrix is when you study it in mathematics, or when you study it in computer science. And the connection really is that matrices are used a lot when you are simulating things or when you're constructing things in computer science, especially in, frankly, computer graphics.
So the super-intelligent robots that made the matrix in the movie Matrix were probably using matrices in order to do it, if they actually did exist. Now, what is a matrix then? Well, that's a fairly simple answer. It's just a rectangular array of numbers. So for example, this right over here. If I have 1, 0, negative 7, pi, 5, and-- I don't know-- 11, this is a matrix. This is a matrix where 1, 0, negative 7, pi-- each of those are an entry in the matrix.
This matrix right over here has two rows. And it has three columns. And because it has two rows and three columns, people will often say that this is a 2 by 3 matrix.
Whenever they say it's something by something matrix, they're telling you that it has two rows-- so you see the two rows right over there. And they are telling you that it has three columns. You see the three columns right over there. I could give you other examples of a matrix. So I could have a 1 by 1 matrix. So I could have the matrix 1. This right over here is a 1 by 1 matrix.
It has one row, one column. I could have a matrix like this-- 3, 7, and What is this? Well, this has one row. This is the one row that we see here. This is a 1 by 3 matrix.
I could have a matrix-- and I think you see where all of this is going. Figuring out the dimensions of a matrix are not too difficult. I could have a matrix that looks like this, where it's 3, 5, 0, 0, negative 1, negative 7. PWK has been introduced by  in order to capture the impact of meaningless expressions on reasoning.
One point worth noting is that  supports that some formulas should be valid even if there are occasions in which they are meaningless—in our matrix-based setting, this equates with designating n alongside 1. In this language, if some syntactical object p is to be used as a Boolean variable, the interpreter must be informed that p is to be used in this way.
When the program is run, an instruction is made to allocate sufficient memory for p to take a value. To declare the Boolean variable p is to allocate the necessary resources. If a variable is undeclared, then it is meaningless: even if a formula is well-formed, if its atomic variables have not yet been declared, it is no more serviceable than an ill-formed string of symbols.
The algorithm in Figure 1 shows that addition is bound to fail exactly as it does in Kw 3 [11, p. Application of logic to computer errors is not new. Crucial to this proposal is a matrix-based semantics involving a third truth value beside 1 and 0. Errors due to undeclared variables differ from those considered by  and , insofar as they represent computation stops that are due to a syntactic failure.
This, and the logical features of errors due to undeclared variables, justify the application of a different system such as Kw 3 or some relevant subsystem.
Errors of this kind may cause a process to halt. Beside these kinds of errors, we have errors on the level of hardware. An instance of these are the physical errors that are caused when an environment attempts to retrieve a value from a physical address that is corrupt.
Physical errors that cause some failure at the level of the operating system also affects the virtual machines in the system. By contrast, errors causing failure at the level of a virtual machine need not propagate to all the environments in the system. Both errors may happen, but they will affect the entire system in different ways.
This calls for an interaction of different types of errors, and this interaction seems to be hierarchical in a sense, since the level at which an error takes place contributes to determine how much of the environment is affected by that error.
We believe that this interaction is suitably captured by applying two contaminating values similar to the value n from Table 1, and we briefly discuss why. Errors in code and physical errors. Consider errors in code. The triggering of the syntactic error at the local level—that is, within the virtual machine—may cause the environment within which the executable was run to halt prematurely.
This calls for some truth value that displays a contaminating behavior in the style of n from Table 1, since the situation we have described represents the capacity of an error to affect any string of information or environment in which the error takes place. At the same time, however, this error happens within the scope of a virtual machine, which in turn insulates the operating system from such local errors.
This is better represented by a value that is just partially contaminating, that is a value that contaminates some, but not all other values.
Value n from Table 1 cannot capture this, since it contaminates all other values in the universe of WKA.
Thus, we need to adjust n to fit our current purpose. Going to physical errors at the level of the hardware, if the operating system attempts to retrieve a value on behalf of a virtual machine from a bad address, the error that causes the operating system to fail will bring down the virtual machine alongside it. This calls for a contaminating value that affects all other values, including possibly partially contaminating values like the one discussed above.
In a nutshell, the logical representation of the interaction of the two kinds of errors above requires two values that are contaminating in some sense—in particular, we need one value to be contaminating in a weaker sense than n, and the other to be contaminating in exactly the same sense of n.
Reasoning about the interaction of the two errors. In this section we propose the two logics HYB1 and HYB2 as tools that can be used for reasoning about the interaction of the kind of errors that we have been discussed above.
Both HYB1 and HYB2 display the two different types of contaminating values that we see fit in capturing the two different kinds of errors that we have discussed above. For instance, an end user may be concerned with the stability of the code itself and not in the stability of the physical memory. Thus, one might be justified in modeling this global error via a designated value.
Take the concrete case of a large ontology with an integrated theorem prover, for example. Here, one might wish for certain theorems to be derivable, in spite of the potential for hardware errors. Also, 8 when one is testing code, some tiers of errors are important to acknowledge while others are not.
We acknowledge that the examples above do not bring conclusive evidence for designating a contaminating values, but we also believe that they provide reasons for it, which would deserve further discussion and testing.
We postpone a detailed discussion of this issue to a further paper. In this paper, we take this provisional reasons as strong enough to support the elaboration of four-valued logics with both designated and undesignated values. Thus, in the next sections we extend our previous considerations to build appropriate se- mantic tools to model such settings. We do this by appealing to the idea of a linear order of contaminating values, such that the greater contaminating values contaminate the smaller ones and, of course, the non-contaminating values.
Table 2. In order to qualify their different behaviors, we adjust the notion of contamination from Observation 1 and we define a full-fledged, general notion of contamination: Definition 7.
Since n2 contaminates every other value, we will say that n2 is absolutely contaminating. By contrast, we will say that n1 is just partially contaminating, since it contaminates all values but n2. Discussion of the two contaminating values. Given its partially contaminating behavior, value n1 fits our description of how errors in code work. Indeed, n1 does not trump any other value, and this seems to fit the fact that errors in code do not necessarily affect any environ- ment, while they do prevent computation to proceed in the virtual machine where they occur.
Again, the former trumps any other value, and this seems fit the fact that a physical errors occurring in the operating system affects any environment.
We give sound and complete sequent calculi in Section 5. In what follows, we familiarize with the two systems, and provide characterizations in the style of Theorem 3. The two logics are defined as follows: Definition 8.
The following lemma plays a crucial role in proving Theorem 2 from this section and Theo- rem 6 from Section 5: Lemma 1. Values n1 and n2 may represent, as we have discussed above, code errors in a virtual machine, and physical errors in the operating system. Given what we have proposed about the pragmatic nature of designation of a contaminating value, two combinations are possible: code errors are taken as unthreatening and physical errors as fatal, or vice versa.
Although we have a preference for the option that supports HYB1 over HYB2 —we feel that physical errors at the level of the operating system can be hardly seen as unthreatening—we believe that it is worth exploring both options. This fits with the way HYB1 conceives of the hierarchy of errors represented by n1 and n2 : since the fatal errors are those represented by the most contaminating value, any information that is included in the premises will be safe from fatal errors, since the premises itself must be, if they are to be designated.
The former violates the variable-inclusion requirement from Theorem 1, while the latter complies with it. This fits with the way HYB2 conceives of the hierarchy of errors represented by n1 and n2 : since the fatal errors are those represented by the least contaminating value, if information from part of the premise is included in the conclusion, then the latter will be safe from fatal errors, since otherwise the premises would not be.
The following corollary will be helpful in proving Lemma 2 from Section 5.
It is a straight- forward consequence of Proposition 1, Theorem 1 and Theorem 2: Corollary 1. However, very little is known about these logics to this day. The two theorems from the present section make a significant progress in our knowledge of such logics, and we believe that this explains their relevance.
Additionally, we believe that our results make a significant progress w. First, [12, Observation 1] is concerned with single-conclusion consequence relations, while our results can suggest a method that would apply to the more general multiple-conclusion case.
Second, and more important, [12, Observation 1] concerns logics where contaminating values are not designated, while Theorem 2 provides an insight that is relevant also for logics that comprise one or more designated contaminating values. Thus, the present results offer an insight that is more general than the insight offered by [12, Observation 1].
More precisely, we provide sound and complete calculi of annotated sequents for the two four-valued logics. In annotated sequent calculi, additional rules are provided in order to capture the interaction among formulas within squared brackets, outside square brackets, and the interaction of formulas within square brackets and formulas outside the brackets.
Our results extend the ones from  for Kw 3 and PWK. As in , each of our calculi places restrictions on several rules—more precisely, the rules need some variable inclusion condition to be satisfied in order to be applicable. We will specify the relevant restrictions when needed. Below, we present the rules for the two annotated calculi, and we briefly discuss the differences between them and many-sided sequent calculi in the style of .
After that, we go to soundness and completeness of the two calculi. Note, again, that we can appeal to [PushR] in order to cover mixed cases. Theorem 3 Soundness of HYB1. Lemma 2. Definition 9. Theorem 4 Completeness of HYB1. By similar means, we arrive at the corresponding results for HYB2. Theorem 5 Soundness of HYB2. Theorem 6 Completeness of HYB2. Our calculi for HYB1 and HYB2 are decorated, since we use a bracketing device in each of the antecedent and succedent to track variable-inclusion properties.
We briefly explain why. Contrary to the latter, the bracketing in our calculi for HYB1 and HYB2 is not supposed to capture and needs not be understood as capturing any semantic feature underlying the logic; by contrast, the device we deploy is syntactic in nature, since it tracks variable-inclusion properties. We believe this difference is relevant for our proposal for at least two reasons.
First, many- sided sequent calculi are often criticized, in light of the standard interpretation above, as smug- gling semantics into proof theory, which is usually supposed not to be desirable. Our bracketing device, by contrast, does not imply any mixing of semantics and proof theory and is, therefore, free from such a criticism. Second, the construction of a many-sided sequent calculus is a quite trivial business today, thanks to existing tools such as MUltseq—described, e. Since our calculi do not belong, in fact, to the family of many-sided sequent calculi, they do not fall prey of such a triviality.
Some of these errors are suitably represented by values that are contaminating in a sense closely resembling the third value from Weak Kleene Algebra WKA. The paper discusses this structure together with the two non-trivial logics can be interpreted on it. These are the systems PWK from  and Kw 3 from . Since computer errors may have a variety of different sources, and differ in their effects on the environment, we discuss the interaction of two different kinds of computer errors, namely those which occur at the level of some virtual machine, and those which occur at the level of the operating system Section 4.
Sound and complete sequent calculi for the systems in question are presented Section 5. Before closing, we discuss some directions for future research. First, we plan to devote future work to an investigation into the matter of designation or not of contaminating truth-values see Section 4 for the issue. This is a very important point. Indeed, he current state of the art in applied computer science frequently encounters programs running in a cascade virtual machines nested in one another. Interest of the user and specific application may lead to discount some errors and consider them uninteresting and unthreatening.
In this case, one might want to designate the relevant contaminating truth value, since this represent the ability of the computation to go on, the error notwithstanding. We wish to cast this general framework against the background of concrete scenarios of nested computer errors. One way to look at the trade-off between the calculi that we have described and the method of many-sided sequent calculi is that our presentation has limited the number of additional rules at the cost of a possibly exponential increase of the search space.
We plan to devote future work to the investigation of proof complexity and related issues.