Employment
Compiler Engineer
Igalia, Spain
November
2021 to present
Full Stack Developer
Vicampo.de
GmbH, Germany
July 2015 to November 2021
Postdoctoral Researcher
Theory and
Logic Group, Vienna University of Technology, Austria
January
2014 to June 2015
Postdoctoral Researcher
Center for
Artificial Intelligence, New University of Lisbon,
Portugal
September 2009 to September 2012
Assistant Editor
Stanford
Encyclopedia of Philosophy, United States
November 2007
to present
Research Programmer
Qualitative
Reasoning Group, Northwestern University, United States
September
2001 to August 2002
Programmer
Cycorp, Inc., United
States
June 2001 to September 2001
Programmer
Cycorp, Inc., United
States
May 2000 to August 2000
Programmer
Cycorp, Inc., United
States
June 1999 to August 1999
Publications
Language-oriented Programming in Racket—A Cultural
Anthropology
A collection of interviews with dozens of Racket programmers of
their experience of language-oriented programming, of which
Racket is a strong proponent.
Racket Weekend
A ten-chapter short course on basic Racket programming.
Server: Racket—Practical HTTP Programming with the Racket
HTTP Server
A step-by-step guide to getting started with the built-in Racket
HTTP server, with a sample web application and its
functionality built up in pieces. Survey of a number of
third-party libraries that will probably be used heavily by most
web apps written in Racket.
Discover Snowplow: Your Next Analytics Platform
An introduction to the
Snowplow
data analytics and pipeline platform.
Axiomatizing Jaśkowski’s discussive logic D2Hitoshi
Omori, Studia Logica
106(6), 2018, pp. 1163–1180.
We outline the rather complicated history of attempts at
axiomatizing Jaśkowski’s discussive logic
and show that some clarity can be had by
paying close attention to the language we work with. We then
examine the problem of axiomatizing in
languages involving discussive conjunctions. Specifically,
we show that recent attempts by Ciuciura are mistaken.
Finally, we present an axiomatization of
in the language Jaśkowski suggested in
his second paper on discussive logic, by following a remark of
da Costa and Dubikajtis. We also deal with an interesting
variant of , introduced by Ciuciura, in which negation is also taken to be
discussive.
From absolute to affine geometry in terms of
point-reflections, midpoints, and collinearityVictor
Pambuccian, Note di Matematica
36(1), 2016, pp. 11–24.
We investigate equational theories expressed in terms of the
point-reflection operation \sigma and the midpoint operation
that lie strictly between the absolute and
the affine theory, proving a number of dependencies and
independencies in the process. Several universal theories
enlarged with the collinearity predicate also lie strictly
between the absolute and the affine theory. The independence
models and several proofs were obtained by
Tipi, an aggregate of automatic theorem provers. To show that no
set of equations with at most three variables can axiomatize the
affine theory is left as an open problem.
Dialogues for proof search, in
Benzmüller, C. and Otten, J.
ARQNL 2014. Automated Reasoning in Quantified
Non-Classical Logics, 2014, pp. 65–70.
Dialogue games are a two-player semantics for a variety of
logics, including intuitionistic and classical logic.
Dialogues can be viewed as a kind of analytic calculus not
unlike tableaux. Although dialogues can serve as an alternative
characterization of intuitionistic logic, it is less clear
to what extent dialogues can be practically used as a search
procedure. We announce
Kuno, an automated theorem prover for intuitionistic
first-order logic based on dialogue games.
Automating Leibniz’s theory of conceptsPaul
Oppenheimer
and
Edward
N.
Zalta, in
Felty, A. P. and Middeldorp, A.
Automated Deduction - CADE 25,
2015, pp. 73–97.
Our computational metaphysics group describes its use of
automated reasoning tools to study Leibniz’s theory of
concepts. We start with a reconstruction of Leibniz’s theory
within the theory of abstract objects (henceforth
object theory
). Leibniz’s theory of concepts, under
this reconstruction, has a non-modal algebra of concepts, a
concept-containment theory of truth, and a modal metaphysics of
complete individual concepts. We show how the
object-theoretic reconstruction of these components of
Leibniz’s theory can be represented for investigation by
means of automated theorem provers and finite model builders.
The fundamental theorem of Leibniz’s theory is derived using
these tools.
Tarski geometry axiomsWilliam
Richter
and
Adam
Grabowski, Formal Mathematics
22(2), 2014, pp. 167–176.
This is the translation of the Mizar article containing
readable Mizar proofs of some axiomatic geometry theorems
formulated by the great Polish mathematician Alfred Tarski,
and we hope to continue this work.
The article is an extension and upgrading of the source code
written by the first author with the help of miz3 tool; his
primary goal was to use proof checkers to help teach rigorous
axiomatic geometry in high school using Hilbert’s axioms.
This is largely a Mizar port of Julien Narboux’s Coq pseudo-code.
We partially prove the theorem that Tarski’s (extremely
weak!) plane geometry axioms imply Hilbert’s axioms.
Specifically, we obtain Gupta’s amazing proof which implies
Hilbert’s axiom I1 that two points determine a line.
The primary Mizar coding was heavily influenced by axioms of
incidence geometry. The original development was much
improved using Mizar adjectives instead of predicates only,
and to use this machinery in full extent, we have to construct
some models of Tarski geometry. These are listed in the second
section, together with appropriate registrations of
clusters. Also models of Tarski’s geometry related to real
planes were constructed.
Computing with mathematical argumentsReinhard
Kahle, in
Andersen, H., Dieks, D., Gonzalez, W., Uebel, T. and Wheeler,
G.
New Challenges to Philosophy of Science, 2013, pp. 9–22.
Thanks to developments in the last few decades in mathematical
logic and computer science, it has now become possible to
formalize non-trivial mathematical proofs in essentially
complete detail. we discuss the philosophical problems and
prospects for such formalization enterprises. We show how some
perennial philosophical topics and problems in
epistemology, philosophy of science, and philosophy of
mathematics can be seen in the practice of formalizing
mathematical proofs.
Checking proofsReinhard
Kahle, in
Aberdein, A. and Dove, I.
The Argument of Mathematics,
2013, pp. 147–170.
Contemporary argumentation theory tends to steer away from
traditional formal logic. In the case of argumentation
theory applied to mathematics, though, it is proper for
argumentation theory to revisit formal logic owing to the
in-principle formalizability of mathematical arguments.
Completely formal proofs of substantial mathematical
arguments suffer from well-known problems. But practical
formalizations of substantial mathematical results are now
available, thanks to the help provided by modern automated
reasoning systems. In-principle formalizability has become
in-practice formalizability. Such efforts are a resource for
argumentation theory applied to mathematics because topics
that might be thought to be essentially informal reappear in the
computer-assisted, formal setting, prompting a fresh
appraisal.
The λ-calculusJohannes
Korbmacher, in
Zalta, E. N. and Nodelman, U.
The Stanford Encyclopedia of Philosophy, 2024.
Eliciting implicit assumptions of Mizar proofs by property
omission,
Journal of Automated Reasoning
50, 2013, pp. 123–133.
When formalizing proofs with proof assistants, it often happens
that background knowledge about mathematical concepts is
employed without the formalizer explicitly requesting it.
Such mechanisms are warranted in the context of discovery
because they can make prover sessions more efficient (less time
searching the library) and can compress proofs (the more knowledge
that is implicitly available, the less needs to be explicitly
said by the formalizer). In the context of justification,
though, implicit knowledge may need to be made explicit. To study
implicit knowledge in proof assistants, one must first
characterize what implicit knowledge should be made explicit.
Then, once a class of implicit background knowledge is
identified, one needs to determine how to extract it from proofs.
When a class of implicit knowledge is made explicit, we may then
inquire to what extent the implicit knowledge is needed for any
particular proof; it often happens that proofs can be
successful even if some of the implicit knowledge is omitted. In
this note we describe an experiment conducted on the Mizar
Mathematical Library (MML) of formal mathematical proofs
concerning a particular class of implicit background
knowledge, namely, properties of functions and relations (e.g.,
commutativity, asymmetry, etc.). In our experiment we
separate, for each theorem of the MML, the needed function and
relation properties from the unneeded ones. Special attention
is paid to those function and relation properties that are
significant in discussions of foundations of mathematics.
The simplest axiom system for plane hyperbolic geometry
revisited, again, Studia Logica
102(3), 2014, pp. 609–615.
Dependencies are identified in two recently proposed
first-order axiom systems for plane hyperbolic geometry. Since
the dependencies do not specifically concern hyperbolic
geometry, our results yield two simpler axiom systems for
absolute geometry.
Complete independence of an axiom system for central
translations, Note di Matematica
33(2), 2013, pp. 133–142.
A recently proposed axiom system for Andr´e’s central
translation structures is improved upon. First, one of its axioms
turns out to be dependent (derivable from the other axioms).
Without this axiom, the axiom system is indeed independent.
Second, whereas most of the original independence models were
infinite, finite independence models are available. Moreover,
the independence proof for one of the axioms employed
proof-theoretic techniques rather than independence models;
for this axiom, too, a finite independence model exists. For
every axiom, then, there is a finite independence model.
Finally, the axiom system (without its single dependent
axiom) is not only independent, but completely independent.
A curious dialogical logic and its composition
problemAleks
Knoks
and
Sara
L.
Uckelman,
Journal of Philosophical Logic
43, 2014, pp. 1065–1100.
Dialogue semantics for logic are two-player logic games
between a Proponent who puts forward a logical formula
as valid or true and an Opponent who
disputes this. An advantage of the dialogical approach is that
it is a uniform framework from which different logics can be
obtained through only small variations of the basic rules. We
introduce the composition problem for dialogue games as the
problem of resolving, for a set of rules
for dialogue games, whether the set of -dialogically valid formulas is closed under modus ponens.
Solving the composition problem is fundamental for the
dialogical approach to logic; despite its simplicity, it
often requires an indirect solution with the help of
significant logical machinery such as cut-elimination.
Direct solutions to the composition problem can, however,
sometimes be had. As an example, we give a set
of dialogue rules which is well-justified
from the dialogical point of view, but whose set
of dialogically valid formulas is both
non-trivial and non-standard. We prove that the composition
problem for can be solved directly, and
introduce a tableaux system for .
Without E, in
Arazim, P. and Dancak, M.
Logica Yearbook 2014, 2015, pp. 1–12.
Dialogue games are a two-player game-based semantics for a
variety of logics. The Proponent () asserts an initial formula ; the Opponent () disputes that is valid. The players take
turns, attacking or defending logical formulas. There are a
few ways in which dialogues can be defined. There seems to be no
unique formalization, though one can clearly see family
resemblances among them. One rule that comes up often is the
so-called rule, which says that
must respond to ’s immediately preceding move. The rule
is regarded as awkward and lacking a clear significance in any
ordinary sense of dialogue
. Its sole value appears to be
that it facilitates proofs of adequacy (soundness and
completeness). While acknowledging its utility, one might
naturally wish to eliminate the rule, or
at least replace it by a rule that has intuitively greater
plausibility. In some contexts, it is known that
is in fact redundant (a set of rules with
has the same logical force as the ruleset
without ), while in other contexts, seems to be
essential. Toward that end, this note investigates a
dialogical characterization of classical logic in which
the rule is relaxed.
A machine-assisted view of paraconsistency(preprint)
For a newcomer, paraconsistent logics can be difficult to
grasp. Even experts in logic can find the concept of
paraconsistency to be suspicious or misguided, if not
actually wrong. The problem is that although they usually have
much in common with more familiar logics (such as
intuitionistic or classical logic), paraconsistent logics
necessarily disagree in other parts of the logical terrain
which one might have thought were not up for debate. Thus, one’s
logical intuitions may need to be recalibrated to work
skillfully with paraconsistency. To get started, one should
clearly appreciate the possibility of paraconsistent
logics and the genuineness of the distinctions to which
paraconsistency points. For this purpose, one typically
encounters matrices involving more than two truth values to
characterize suitable consequence relations. In the eyes of a
two-valued skeptic, such an approach might seem dubious. Even a
non-skeptic might wonder if there’s another way. To this end, to
explore the basic notions of paraconsistent logic with the
assistance of automated reasoning techniques. Such an
approach has merit because by delegating some of the logical
work to a machine, one’s logical "biases" become
externalized. The result is a new way to appreciate that the
distinctions to which paraconsistent logic points are indeed
genuine. Our approach can even suggest new questions and problems
for the paraconsistent logic community.
Analysis of a detached axiom in Huntington's axiom system
for non-oriented ordered lines(preprint)
We improve upon Huntington’s affine geometry by showing that his
independence proofs can be, in some cases, simplified. We carry
out a systematic investigation of the strict notion of
betweenness that Huntington employs (the three arguments are
supposed to be distinct) by comparing it to McPhee’s three axiom
systems for the same intended class of structures, which employs
weak betweenness (the arguments are permitted to be equal). Upon
closely inspecting the proof that McPhee’s axiom systems are
equivalent to Huntington’s (subject of course to the
definition of weak betweenness in terms of strict and vice
versa), one finds surprisingly that McPhee’s axiom systems have
quite different relations to strict betweenness.
Premise selection for mathematics by corpus analysis and
kernel methodsTom
Heskes,
Daniel
Kühlwein,
Evgeni
Tsivtsivadze
and
Josef
Urban,
Journal of Automated Reasoning
52, 2014, pp. 191–213.
Smart premise selection is essential when using automated
reasoning as a tool for large-theory formal proof development.
This work develops learning-based premise selection in two ways.
First, a fine-grained dependency analysis of existing
high-level formal mathematical proofs is used to build a large
knowledge base of proof dependencies, providing precise data
for ATP-based re-verification and for training premise
selection algorithms. Second, a new machine learning
algorithm for premise selection based on kernel methods is
proposed and implemented. To evaluate the impact of both
techniques, a benchmark consisting of 2078 large-theory
mathematical problems is constructed, extending the older
MPTP Challenge benchmark. The combined effect of the techniques
results in a 50 % improvement on the benchmark over the
state-of-the-art Vampire/SInE system for automated reasoning in
large theories.
Tipi: A TPTP-based theory development environment
emphasizing proof analysis(preprint)
In some theory development tasks, a problem is
satisfactorily solved once it is shown that a theorem
(conjecture) is derivable from the background theory
(premises). Depending on one’s motivations, the details of the
derivation of the conjecture from the premises may or may not be
important. In some contexts, though, one wants more from theory
development than simply derivability of the target theorems
from the background theory. One may want to know which premises of
the background theory were used in the course of a proof output by
an automated theorem prover (when a proof is available), whether
they are all, in suitable senses, necessary (and why), whether
alternative proofs can be found, and so forth. The problem, then,
is to support proof analysis in theory development; the tool
described in this paper, Tipi, aims to provide precisely that.
Automated and human proofs in general mathematics: An
initial comparisonDaniel
Kühlwein
and
Josef
Urban, in
Bjørner, N. and Voronkov, A.
Logic for Programming, Artificial Intelligence, and
Reasoning, 2012, pp. 37–45.
First-order translations of large mathematical repositories
allow discovery of new proofs by automated reasoning systems.
Large amounts of available mathematical knowledge can be re-used
by combined AI/ATP systems, possibly in unexpected ways. But
automated systems can be also more easily misled by
irrelevant knowledge in this setting, and finding deeper proofs
is typically more difficult. Both large-theory AI/ATP methods,
and translation and data-mining techniques of large formal
corpora, have significantly developed recently, providing
enough data for an initial comparison of the proofs written by
mathematicians and the proofs found automatically. This paper
describes such an initial experiment and comparison
conducted over the 50000 mathematical theorems from the Mizar
Mathematical Library.
Escape to Mizar from ATPs, in
Fontaine, P., Schmidt, R. and Schulz, S.
PAAR 2012, 2013, pp. 3–11.
We announce a tool for mapping derivations produced by the E
theorem prover to Mizar proofs. Our mapping complements earlier
work that generates problems for automated theorem provers
from Mizar inference checking problems. We describe the tool,
explain the mapping, and show how we solved some of the
difficulties that arise in mapping proofs between different
logical formalisms, even when they are based on the same notion of
logical consequence, as Mizar and E are (namely, first-order
classical logic with identity).
New developments in parsing MizarCzesław
Bylinski, in
Juering, J., Campbell, J. A., Carette, J., dos Reis, G., Sojka,
P., Wenzel, M. and Sorge, V.
Intelligent Computer Mathematics,
2012, pp. 427–431.
The Mizar language aims to capture mathematical vernacular by
providing a rich language for mathematics. From the
perspective of a user, the richness of the language is welcome
because it makes writing texts more “natural”. But for the
developer, the richness leads to syntactic complexity, such
as dealing with overloading.
Recently the Mizar team has been making a fresh approach to the
problem of parsing the Mizar language. One aim is to make the
language accessible to users and other developers. In this
paper we describe these new parsing efforts and some
applications thereof, such as large-scale text refactorings,
pretty-printing, HTTP parsing services, and normalizations of
Mizar texts.
Dependencies in formal mathematics: Applications and
extraction for Coq and MizarLionel
Mamane
and
Josef
Urban, in
Juering, J., Campbell, J. A., Carette, J., dos Reis, G., Sojka,
P., Wenzel, M. and Sorge, V.
Intelligent Computer Mathematics,
2012, pp. 1–16.
Two methods for extracting detailed formal dependencies from
the Coq and Mizar system are presented and compared. The methods
are used for dependency extraction from two large
mathematical repositories: the Coq Repository at Nijmegen
and the Mizar Mathematical Library. Several applications of
the detailed dependency analysis are described and proposed.
Motivated by the different applications, we discuss the
various kinds of dependencies that we are interested in, and
the suitability of various dependency extraction methods.
Metadata for a wiki of formalized mathematics, in
Lange, C. and Urban, J. MathWikis-2011,
2011, pp. 2–5.
In recent years wikis for formal mathematics have appeared.
Formal mathematics presents a number of challenges for the wiki
perspective. To enhance the quality of the data in these wikis
from the perspective of information architecture, we propose
some extensions of existing formal mathematics wikis to more
properly handle metadata.
What is dialogical about dialogical logic?Sara
L.
Uckelman, in
Ribeiro, H. J. Inside Arguments,
2012, pp. 207–222.
Large formal wikis: Issues and solutionsKasper
Brink,
Lionel
Mamane
and
Josef
Urban, in
H. Davenport, J., Farmer, W. M., Urban, J. and Rabe, F.
Intelligent Computer Mathematics,
2011, pp. 133–148.
We present several steps towards large formal mathematical
wikis. The Coq proof assistant together with the CoRN
repository are added to the pool of systems handled by the
general wiki system described in [10]. A smart re-verification
scheme for the large formal libraries in the wiki is suggested for
Mizar/MML and Coq/CoRN, based on recently developed precise
tracking of mathematical dependencies. We propose to use
features of state-of-the-art filesystems to allow real-time cloning
and sandboxing of the entire libraries, allowing also to extend
the wiki to a true multi-user collaborative area. A number of
related issues are discussed.
mizar-items: Exploring fine-grained dependencies in the Mizar
Mathematical Library, in
H. Davenport, J., Farmer, W. M., Urban, J. and Rabe, F.
Intelligent Computer Mathematics,
2011, pp. 266–267.
The MML is one of the largest collection of formalized
mathematical knowledge that has been developed with various
interactive proof assistants. It comprises more than 1100
“articles” summing to nearly 2.5 million lines of text, each
consisting of a unified collection of mathematical
definitions and proofs. Semantically, it contains more than
50000 theorems and more than 10000 definitions expressed
using more than 7000 symbols. It thus offers a fascinating
corpus on which one could carry out a number of experiments.
This note discusses a system for computing fine-grained
dependencies among the contents of the MML.
Licensing the Mizar Mathematical LibraryMichael
Kohlhase,
Lionel
Mamane,
Adam
Naumowicz,
Piotr
Rudnicki
and
Josef
Urban, in
H. Davenport, J., Farmer, W. M., Urban, J. and Rabe, F.
Intelligent Computer Mathematics,
2011, pp. 149–163.
The Mizar Mathematical Library (MML) is a large corpus of
formalised mathematical knowledge. It has been constructed
over the course of many years by a large number of authors and
maintainers. Yet the legal status of these efforts of the Mizar
community has never been clarified. In 2010, after many years
of loose deliberations, the community decided to
investigate the issue of licensing the content of the MML,
thereby clarifying and crystallizing the status of the texts,
the text’s authors, and the library’s long-term maintainers. The
community has settled on a copyright and license policy that
suits the peculiar features of Mizar and its community. In this
paper we discuss the copyright and license solutions. We offer
our experience in the hopes that the communities of other
libraries of formalised mathematical knowledge might take up
the legal and scientific problems that we addressed for Mizar.
Dialogue games for classical logicSara
L.
Uckelman
and
Aleks
Knoks, in
Giese, M. and Kuznets, R.
TABLEAUX 2011: Workshops, Tutorials, and Short Papers, 2011, pp. 82–86.
We define a class of dialogue games and prove that existence of
winning strategies for the Proponent in this class of games
corresponds to validity in classical propositional logic.
Many authors have stated similar results without actually
proving the correspondence. We modify the games used for
intuitionistic logic given by Fermüller. We employ standard
dialogue games and a standard sequent calculus for classical
logic. The result is a simple correspondence between dialogue
games and classical logic.
A wiki for Mizar: Motivation, Considerations, and Initial
PrototypeJosef
Urban,
Piotr
Rudnicki
and
Herman
Guevers, in
Autexier, S., Calmet, J., Delahaye, D., Ion, P. D. F.,
Rideau, L., Rioboo, R. and Sexton, A. P.
Intelligent Computer Mathematics,
2010, pp. 455–469.
Formal mathematics has so far not taken full advantage of ideas
from collaborative tools such as wikis and distributed version
control systems (DVCS). We argue that the field could profit from
such tools, serving both newcomers and experts alike. We describe
a preliminary system for such collaborative development
based on the Git DVCS. We focus, initially, on the Mizar system
and its library of formalized mathematics.
Exploring Steinitz-Rademacher polyhedra: A challenge for
automated reasoning tools, in
Sutcliffe, G., Ternovska, E. and Schulz, S.
Proceedings of the Eighth International Workshop on the
Implementation of Logics, 2010, pp. 14–18.
This note reports on some experiments, using a handful of
standard automated reasoning tools, for exploring
Steinitz-Rademacher polyhedra, which are models of a certain
first-order theory of incidence structures. This theory and
its models, even simple ones, presents significant,
geometrically fascinating challenges for automated
reasoning tools.
Euler’s polyhedron formula in Mizar, in
Fukada, K., van der Hoven, J., Joswig, M. and Takayama, N.
Mathematical Software – ICMS 2010,
2010, pp. 144–147.
Euler’s polyhedron formula asserts for a polyhedron
that
, where , , and are, respectively, the numbers of
vertices, edges, and faces of . Motivated by I. Lakatos’s philosophy of mathematics as
presented in his Proofs and Refutations,
in which the history of Euler’s formula is used as a case study to
illustrate Lakatos’s views, we formalized a proof of Euler’s
formula formula in the Mizar system. We describe some of the
notable features of the proof and sketch an improved
formalization in progress that takes a deeper mathematical
perspective, using the basic results of algebraic topology,
than the initial formalization did.
A formal proof of Euler’s polyhedron formula,
Studies in Logic, Grammar and Rhetoric
18(31), 2010, pp. 455–469.
Euler’s polyhedron formula asserts for a polyhedron
that
, where , , and are, respectively, the numbers of
vertices, edges, and faces of . This paper concerns a formal proof in the mizar system of
Euler’s polyhedron formula carried out by the author. We
discuss the informal proof (Poincaré’s) on which the formal proof
is based, the formalism in which the proof was carried out,
notable features of the formalization, and related projects.
Euler’s polyhedron formula, Formal Mathematics
16(1), 2008, pp. 7–17.
Euler’s polyhedron theorem states for a polyhedron p, that
, where
,
, and
are, respectively, the number of
vertices, edges, and faces of
. The formula was first stated in print by Euler in 1758. The
proof given here is based on Poincaré’s linear algebraic proof,
as adapted by Imre Lakatos in the latter’s
Proofs and Refutations.
As is well known, Euler’s formula is not true for all polyhedra.
The condition on polyhedra considered here is that of being a
homology sphere, which says that the cycles (chains whose
boundary is zero) are exactly the bounding chains (chains that
are the boundary of a chain of one higher dimension).
The present proof actually goes beyond the three-dimensional
version of the polyhedral formula given by Lakatos; it is
dimension-free, in the sense that it gives a formula in which
the dimension of the polyhedron is a parameter. The
classical Euler relation
is corresponds to the case where the dimension of the
polyhedron is .
The main theorem, expressed in the language of the present
article, is
where is a polyhedron. The alternating
characteristic sequence of a polyhedron is the sequence
where
is the number of polytopes of of
dimension . The special case of
yields
Euler’s classical relation. (
and
will turn out to be equal, by definition, to
.)
Two other special cases are proved: the first says that a
one-dimensional polyhedron
that is a homology sphere
consists of just two vertices (and thus consists of just a
single edge); the second special case asserts that a
two-dimensional polyhedron that is a homology sphere (a
polygon) has as many vertices as edges.
The vector space of subsets of a set based on symmetric
difference, Formal Mathematics
16(1), 2008, pp. 1–5.
For each set , the power set of forms a vector space
over the field
(the two-element field
with addition and multiplication done modulo
): vector addition is disjoint union, and scalar
multiplication is defined by the two equations (,
for subsets of ).
The rank+nullity theorem, Formal Mathematics
15(3), 2007, pp. 137–142.
The rank+nullity theorem states that, if
is a linear transformation from a
finite-dimensional vector space to a
finite-dimensional vector space , then
, where
and
. The proof treated here is standard: take a basis
of and
extend it to a basis of
, and then show that
is equal to
, and that is one-to-one on
.
Teaching
Dialogical Logic (Assistant
Instructor)
Institute for Logic, Language and Information,
University of Amsterdam
2011
Type Theory (Instructor)
Department
of Computer Science, New University of Lisbon
2010
Artificial Intelligence
(Instructor)
Educational Program for Gifted Youth,
Stanford University
2009
Computability and Logic (Graduate
Teaching Assistant)
Stanford University
2006, 2008
First-order Logic (Graduate Teaching
Assistant)
Stanford University
2006, 2007, 2008
Non-Euclidean Geometry
(Instructor)
Educational Program for Gifted Youth,
Stanford University
2007, 2008, 2009