Computer Science Distance Education Course Implementation: A

Computer Science Distance Education Course
Implementation: A Case Study in Automated
Reasoning Systems
Jito Vanualailai∗
Department of Mathematics and Computing Science,
University of the South Pacific, Suva, FIJI.
February 4, 2004
1
Introduction
1.1
Background
The author of this report has been an employee of the University of the
South Pacific (USP) 1 since April, 1994, and has begun his term on January
1, 2004, as the Head of the largest department in the university; the Department of Mathematics and Computing Science (henceforth, the Department).
The Department caters for about 500 new intakes per year, and has a total
enrollment of about 2000 students in the 20 or so courses it offers per year.
In the face of rising student number and the rapid development of the information technology, the Department is struggling to meet new challenges,
∗
The author has a PhD in Applied Mathematics in March 1994 from Kobe University,
Japan, and is now a senior lecturer in mathematics.
1
USP, established in 1968, is the premier provider of tertiary education in the South
Pacific region. Currently, it is owned by 12 island countries; Fiji, Samoa, Cook Islands,
Tonga, Solomon Islands, Nauru, Tuvalu, Niue, Kiribati, Vanuatu, Marshall Islands and
Tokelau.
1
two of which are particularly urgent, but are difficult and inherently intertwined: (a) the recruitment and retaining of highly qualified computer scientists and mathematicians, and (b) the review of its course offerings, particularly in computing science and information technology, to reflect the changes
brought about by the Internet and all that it encompasses.
Any review or modernization of course offerings could only be meaningful
if the stability of the staffing situation could be guaranteed. As the author begins his term at the helm of the Department, staffing stability is the foremost
priority area to look into, with the aim of successfully persuading new staff
to complete at least their first contract. This could be done essentially by
providing an atmosphere that academics prefer the most: reasonable teaching hours, excellent research support and participation in decision making.
It is advantageous to begin, at the same time, the process of reviewing and
modernizing, where necessary, the courses offered by the Department. An
approach in the modernization process is the adoption of computing science
courses that can be offered online via the Internet, at least at the postgraduate level, where the student number is small and therefore easily manageable.
Such a course need not be fully maintained by the Department - rather, it is
envisaged that the most reasonable approach is to buy online courses from
other universities under an agreement that benefits both the recipient (the
Department) and the service provider (the other university). The agreement
could also cover issues such as the level and type of contribution by each
party. For example, the Department could provide computing resources and
tutorship, whereas the service provider could provide direction and maintain
quality of the course.
This JICA-sponsored trip begins the process of delving into such arrangements. In this instance, the trip allows the author to be trained in, and hence
gauge the difficulty of, an advanced computing science course, given the constraints faced by his Department, namely that at the postgraduate level (a)
the students are equipped with math and computing knowledge, which may
not be at the required level, and (b) the Internet is the only available tool to
obtain all that is needed for the course.
2
1.2
Purpose of Trip
The aim of this three-week JICA-sponsored trip is to study an advanced
course in computing science and to determine the possibility of adopting
the course offered by the Department of Information Engineering, Shinshu
University, Nagano, Japan. The course is for MSc and PhD students and
requires very strong mathematical and computing science background.
2
Automated Reasoning Systems
Mathematicians rigorously report their findings under, at least, four headings: Definition, Lemma, Theorem and Corollary. Of these, the Theorem section is the most important, since theorems establish once and for
all (in a subsection called Proof) the truth of mathematical statements. In
Definition, all the terms to be used thereafter are defined mathematically
and their consistency with other mathematical definitions are established. In
Lemma, necessary results that are used in Theorem are stated and proved.
In Corollary, an outcome of the theorems proved in Theorem are stated
and, if needs be, proved.
The rigorous thought processes within these sections, apparently, can
be automated in principle via the computer, with the computer capable of
checking each and every mathematical statement, and each and every step
that leads from one mathematical statement to another. Indeed, it appears
that almost all elementary results in mathematics (e.g. algebra, geometry,
trigonometry and set theory) have been already automated via the computer
in several systems developed, and in continuous development since the early
1980s, mainly by the Europeans, Japanese and, to some extent, the Americans.
For a mathematician, the idea that a mathematical process can be automated, is not new and accepted. Indeed, the usual computer languages like
BASIC, FORTRAN, COBOL, C and VISUAL BASIC, and Computer Algebra Systems such as MAPLE, MATLAB and MATHEMATICA, are nothing
more than tools to automate a mathematical process. On the other hand, the
idea that a mathematical thought process can be automated, is usually ignored
3
for one simple reason: that the automation process is an exercise in boring,
even mind-numbing, repetition, of the proof of a mathematical statement.
Nonetheless, this ignorance may soon be receding among mathematicians,
given recent fast-paced developments that have been helped along by the
technologies that now power the Internet. Indeed, several systems have been
developed to such stage that real-life engineering applications have begun to
appear. Not surprisingly, these applications require complicated algorithms,
whose soundness or correctness can only be easily checked by automated
reasoning systems.
One such well-developed and powerful system is called the Mizar.
3
The Mizar System
The Mizar system, named after a star (scientific name: Zeta Ursae Majoris)
situated 78 light years away in the Big Dipper, was conceived in 1973 by the
Polish mathematician, Andrzej Trybulec, then of Warsaw University and now
of BiaÃlystok University, Poland. Trybulec continues to be active in developing
the system, and he has now followers in other parts of Europe, Japan and
Canada. Japan, under the guidance of Yatsuka Nakamura, a mathematician
at Shinshu University, is a particularly active partner in the development of
the system.
It is at Shinshu University, Nagano, Japan, where the author spends three
weeks to study the system.
The Mizar system checks the proof of a mathematical statement written in
the so-called Mizar computer language to produce the Mizar article. Hence,
like any other computer language, the Mizar article can only be typed in a
particular format using reserved commands, and then verified via a compiler
called the Mizar verifier.
For example, the Mizar article (given in the Appendix) shows that the
proof of the mathematical statement
|a + b| ≤ |a| + |b|, where a, b are real numbers.
(1)
is correct, where | · | is the absolute value function. The Mizar article is
arranged as follows:
4
Step 1: Checks the consistency of the definition of the absolute value function,
which is typed in by the user.
Step 2: Checks the proofs of several lemmas that the user typed in to facilitate
the proving of the final result.
Step 3: Checks the proof (typed in by the user) of the final theorem, which is
stated in equation (1).
4
Conclusion
The Mizar system, especially its ever-expanding Mizar Mathematical Library
(MML) database, is now applied by computer scientists and computer science students at the postgraduate level at Shinshu University to problems in
artificial intelligence, abstract computers, and electronic engineering.
The MML database is, in fact, the most powerful component of the Mizar
system, and because of its large size, it is endowed with Internet-based systems such the Journal of Formalized Mathematics and MML Query to help
in the search for previously proved theorems to use in a new Mizar article.
In this sense, the Internet is extremely important to work efficiently with the
Mizar system. The Mizar system is now readily available (for free) and can
be taught online.
Mizar is an excellent tool to teach the fundamental of mathematics and
computing concepts, since every step in a Mizar article requires good mathematical or deductive skills coupled with a good understanding of what the
computer does, via the Mizar language, to obtain the required information.
The author of this report concludes that it is possible to mount a Mizar
course at USP as a specialized applied computing course at the postgraduate
level. The author is satisfied that the postgraduate students of his Department are sufficiently equipped with the necessary math and computing background to undertake the course, with the Internet playing a central role in
providing necessary support, whether from Shinshu University or elsewhere.
5
5
Acknowledgments
The author would like to sincerely thank the officials of JICA for their help
in making this visit possible. The following JICA officials were particularly
helpful:
• Professor Fujinobu Takahashi, Chief Advisor, JICA ICT Capacity Building Project, USP
• Ms. Maki Kato, Project Coordinator, JICA ICT Capacity Building
Project, USP
• Mr. Takayuki Sugawara, Programme Officer, First Programme Division, JICA Tokyo
• Mr. Yasuki Kiuchi, Training Coordinator, JICE
Also, the author is very grateful to Professor Yatsuka Nakamura of Shinshu
University for allowing the visit to take place. His colleagues in the Department of Information Engineering, particularly Professor Yasunari Shidama,
Dr. Hiroshi Yamazaki, Dr. Pauline Kawamoto and Ms. Mieko Horiuchi were
of tremendous help.
Finally, I would like to thank very much Dr. Artur KorniÃlowicz (of
BiaÃlystok University, Poland, but on a fellowship programme at the Department of Information Engineering, Shinshu University) for teaching the
author the A-B-C of the Mizar system and its many amazing features. Thank
you, Artur!
6
6
Appendix
environ
vocabulary ABS,ARYTM, ARYTM_1;
notation XREAL_0, REAL_1, ORDINAL1, XCMPLX_0;
constructors XCMPLX_0, XREAL_0, REAL_1;
clusters XREAL_0, ARYTM_3;
requirements SUBSET, NUMERALS;
theorems REAL_1, AXIOMS, XCMPLX_1;
begin
:: This is the definition of the absolute value function |x|
definition
let x be real number;
func absv(x)->real number means :jitodef1:
it=x if x>=0
otherwise it = -x;
existence;
uniqueness;
consistency;
end;
:: This LEMMA jitothm1 shows that x <= |x|
theorem jitothm1:
for x being real number holds x <= absv(x)
proof
let x be real number;
per cases;
suppose x>=0;
hence x<=absv(x) by jitodef1;
suppose a0: x<0;
then a1: absv(x)=-x by jitodef1;
-x>0 by a0, REAL_1:66;
then x<=-x by a0, AXIOMS:22;
7
hence x<=absv(x) by a1;
end;
:: This LEMMA jitothm2 shows that 0 <= |x|
theorem jitothm2:
for x being real number holds 0<=absv(x)
proof
let x be real number;
per cases;
suppose x>=0;
hence 0<=absv(x) by jitodef1;
suppose a0: x<0;
then a1: absv(x)=-x by jitodef1;
-x>0 by a0, REAL_1:66;
hence 0<=absv(x) by a1;
end;
:: This LEMMA jitothm3 shows that ||x||=|x|
theorem jitothm3:
for x being real number holds absv(absv(x))=absv(x)
proof
let x be real number;
0<=absv(x) by jitothm2;
hence thesis by jitodef1;
end;
:: This LEMMA jitothm4 shows that |x|=|-x|
theorem jitothm4:
for x being real number holds absv(x)=absv(-x)
proof
let x be real number;
per cases by REAL_1:def 5;
suppose x = 0;
hence thesis by REAL_1:26, jitodef1;
8
suppose a1: x > 0;
then --x>0;
then a2: -x<0 by REAL_1:66;
thus absv(x) = --x by a1, jitodef1
.= absv(-x) by a2, jitodef1;
suppose a1: x < 0;
then a2: -x>0 by REAL_1:66;
thus absv(x) = -x by a1, jitodef1
.= absv(-x) by a2, jitodef1;
end;
:: This is the MAIN theorem
theorem jitomainthm:
for a,b being real number holds absv(a+b)<=absv(a)+absv(b)
proof
let a,b be real number;
per cases;
suppose a1: a+b >=0;
a<=absv(a) & b<=absv(b) by jitothm1;
then a+b <= absv(a)+ absv(b) by REAL_1:55;
hence thesis by a1, jitodef1;
suppose a1: a+b < 0;
-a<=absv(-a) & -b<=absv(-b) by jitothm1;
then -a + -b <= absv(-a)+ absv(-b) by REAL_1:55;
then -(a + b) <= absv(-a)+ absv(-b) by XCMPLX_1:140;
then -(a + b) <= absv(a)+ absv(-b) by jitothm4;
then -(a + b) <= absv(a)+ absv(b) by jitothm4;
hence thesis by a1,jitodef1;
end;
9