Professional Documents
Culture Documents
Certified Programs and Proofs Third International Conference CPP 2013 Melbourne VIC Australia December 11 13 2013 Proceedings 1st Edition Daniel R. Licata 2024 scribd download
Certified Programs and Proofs Third International Conference CPP 2013 Melbourne VIC Australia December 11 13 2013 Proceedings 1st Edition Daniel R. Licata 2024 scribd download
OR CLICK LINK
https://textbookfull.com/product/certified-
programs-and-proofs-third-international-
conference-cpp-2013-melbourne-vic-australia-
december-11-13-2013-proceedings-1st-edition-
daniel-r-licata/
Read with Our Free App Audiobook Free Format PFD EBook, Ebooks dowload PDF
with Andible trial, Real book, online, KINDLE , Download[PDF] and Read and Read
Read book Format PDF Ebook, Dowload online, Read book Format PDF Ebook,
[PDF] and Real ONLINE Dowload [PDF] and Real ONLINE
More products digital (pdf, epub, mobi) instant
download maybe you interests ...
https://textbookfull.com/product/ambient-intelligence-4th-
international-joint-conference-ami-2013-dublin-ireland-
december-3-5-2013-proceedings-1st-edition-serge-autexier/
https://textbookfull.com/product/big-data-analytics-second-
international-conference-bda-2013-mysore-india-
december-16-18-2013-proceedings-1st-edition-sameep-mehta/
https://textbookfull.com/product/principles-of-distributed-
systems-17th-international-conference-opodis-2013-nice-france-
december-16-18-2013-proceedings-1st-edition-hein-meling/
Sequences and Their Applications SETA 2014 8th
International Conference Melbourne VIC Australia
November 24 28 2014 Proceedings 1st Edition Kai-Uwe
Schmidt
https://textbookfull.com/product/sequences-and-their-
applications-seta-2014-8th-international-conference-melbourne-
vic-australia-november-24-28-2014-proceedings-1st-edition-kai-
uwe-schmidt/
https://textbookfull.com/product/decision-and-game-theory-for-
security-4th-international-conference-gamesec-2013-fort-worth-tx-
usa-november-11-12-2013-proceedings-1st-edition-emrah-akyol/
https://textbookfull.com/product/computational-science-and-its-
applications-iccsa-2018-18th-international-conference-melbourne-
vic-australia-july-2-5-2018-proceedings-part-iii-osvaldo-gervasi/
Georges Gonthier
Michael Norrish (Eds.)
LNCS 8307
Certified Programs
and Proofs
Third International Conference, CPP 2013
Melbourne, VIC, Australia, December 2013
Proceedings
123
Lecture Notes in Computer Science 8307
Commenced Publication in 1973
Founding and Former Series Editors:
Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Alfred Kobsa
University of California, Irvine, CA, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
TU Dortmund University, Germany
Madhu Sudan
Microsoft Research, Cambridge, MA, USA
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Gerhard Weikum
Max Planck Institute for Informatics, Saarbruecken, Germany
Georges Gonthier Michael Norrish (Eds.)
Certified Programs
and Proofs
Third International Conference, CPP 2013
Melbourne,VIC,Australia, December 11-13, 2013
Proceedings
13
Volume Editors
Georges Gonthier
Microsoft Research Cambridge
21 Station Road
Cambridge CB1 2FB, UK
E-mail: gonthier@microsoft.com
Michael Norrish
Canberra Research Lab., NICTA
PO Box 8001
Canberra, ACT 2601, Australia
E-mail: michael.norrish@nicta.com.au
CR Subject Classification (1998): F.3, D.2.4, I.2.3, F.4, D.3, I.1, D.2
This volume contains the papers presented at CPP 2013, the Third International
Conference on Certified Proofs and Programs, held during December 11–13,
2013, in Melbourne.
The CPP series of meetings aims to cover those topics in computer science
and mathematics in which certification via formal techniques is crucial. This
year’s edition of CPP was co-located with APLAS 2013 (Asian Symposium on
Programming Languages and Systems), similarly to CPP and APLAS 2012 in
Japan, and CPP and APLAS 2011 in Taiwan. The next CPP will, however, be
colocated with POPL 2015 in India, and the plan is to eventually locate CPP
in Europe and North America as well as in Asia. A manifesto for CPP, written
by Jean-Pierre Jouannaud and Zhong Shao, appears in the proceedings of CPP
2011 (LNCS 7086).
We were pleased that Dan Licata and Carroll Morgan accepted our invitation
to be invited speakers for CPP 2013 and that Nick Benton also agreed to be a
keynote speaker addressing both APLAS 2013 and CPP 2013.
The Program Committee for CPP 2013 was composed of 20 researchers from
12 countries. We received a total of 39 submissions and accepted 18 papers.
Every submission was reviewed by at least four Program Committee members
and their selected reviewers.
We wish to thank the Program Committee members and their reviewers for
their efforts in helping to evaluate the submissions: it was a privilege to work
with them. The EasyChair conference management system helped us to deal
with all aspects of putting together our program. It was a pleasure to work with
Peter Schachte the general chair for CPP and APLAS 2013, and with Chung-
chieh Shan, the Program Committee chair for APLAS 2013. We also wish to
thank the invited speakers, the authors of submitted papers, and the reviewers
for their interest and strong support of this new conference series.
General chair
Peter Schachte University of Melbourne, Australia
Steering Committee
Andrew Appel Princeton University, USA
Nikolaj Bjørner Microsoft Research
Georges Gonthier Microsoft Research
John Harrison Intel Corporation, USA
Jean-Pierre Jouannaud Université Paris-Sud, France and Tsinghua
(Co-chair) University, China
Xavier Leroy Inria, France
Gerwin Klein NICTA, Australia
Tobias Nipkow Technische Universität München, Germany
Zhong Shao (Co-chair) Yale University, USA
Program Committee
Derek Dreyer MPI-SWS, Germany
William Farmer McMaster University, Canada
Jean-Christophe Filliâtre CNRS, France
Cédric Fournet Microsoft Research
Georges Gonthier Microsoft Research
Benjamin Grégoire Inria, France
Aquinas Hobor National University of Singapore, Singapore
Reiner Hähnle TU Darmstadt, Germany
Gyesik Lee Hankyong National University, South Korea
Toby Murray NICTA, Australia
Cesar Muñoz NASA, USA
Gopalan Nadathur University of Minnesotta, USA
Michael Norrish NICTA, Australia
Claudio Sacerdoti Coen University of Bologna, Italy
Peter Sewell University of Cambridge, UK
Bas Spitters Radboud University of Nijmegen,
The Netherlands
Gang Tan Lehigh University, USA
Alwen Tiu Nanyang Technical University, Singapore
Yih-Kuen Tsay National Taiwan University
Lihong Zhi Academia Sinica, Taiwan
VIII Organization
Additional Reviewers
Carroll Morgan
Many information measures compete for our attention when we want to decide
whether one program leaks no more information than another: an early favourite
was Shannon Entropy, of course. But more recent entries are Bayes Vulnerability,
Marginal Guesswork, Guessing Entropy. . . and the field has become rather full.
It’s a bit of a zoo. All of the measures have their own advantages and disadvan-
tages, their adherents and detractors. But do any of them have mathematical
properties relevant to specification and refinement? Do they admit a program
algebra? Do they allow compositional reasoning?
Individually, they don’t; but taken together, perhaps they do. There is new
information order, recently discovered by two groups independently [1,2], which
generalises Landauer and Redmond’s Lattice of Information and seems to gener-
alise much of the zoo: furthermore, it has the following two important properties.
First (soundness), if a specification is refined by an implementation in this order,
then the implementation leaks no more than the specification for any measure
in the zoo and in any context (as determined by a pGCL-like programming
language [3] equipped with hidden state). Second (completeness), if there is a
(pGCL) context in which the implementation has more Bayes Vulnerability than
did the specification, then the (purported) implementation cannot actually have
been a refinement of the specification in this order.
I will describe the new order, and where it comes from, and will explain the
properties above and why they are so important.
The practical implications are that if one wants to implement a noninterference-
based secure system in a compositional way, i.e. from a specification via stepwise
refinement, then there is a very strong case for using this new order to determine
the proof obligations, no matter which of the other popular (and more specialised)
orders your application ultimately requires.
References
1. McIver, A.K., Meinicke, L.A., Morgan, C.C. Compositional closure for Bayes
risk in probabilistic noninterference. Proc. ICALP 2010.
2. Alvim, M.S., Chatzikokolakis, K., Palamidessi, C., Smith, G. Measuring in-
formation leakage using generalized gain functions. Proc. CSF 2012.
3. McIver, A.K. and Morgan, C.C. Abstraction, Refinement and Proof for Prob-
abilistic Systems. Springer Monographs in Computer Science, 2005.
Table of Contents
Invited Lectures
πn (S n ) in Homotopy Type Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Daniel R. Licata and Guillaume Brunerie
Session 4: Mathematics
A Formal Proof of Borodin-Trakhtenbrot’s Gap Theorem . . . . . . . . . . . . . 163
Andrea Asperti
Session 6: Security
Formalizing Probabilistic Noninterference . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Andrei Popescu, Johannes Hölzl, and Tobias Nipkow
1 Introduction
Homotopy type theory [Awodey and Warren, 2009; Voevodsky, 2011] is an extension of
Martin-Löf’s intensional type theory [Martin-Löf, 1975; Nordström et al., 1990] with
new principles such as Voevodsky’s univalence axiom and higher-dimensional induc-
tive types [Lumsdaine and Shulman, 2013]. These extensions are interesting both from
a computer science perspective, where they imbue the equality apparatus of type theory
with new computational meaning, and from a mathematical perspective, where they al-
low higher-dimensional mathematics to be expressed cleanly and elegantly in type the-
ory. One example of higher-dimensional mathematics is the subject of homotopy theory,
a branch of algebraic topology. In homotopy theory, one studies topological spaces by
way of their points, paths (between points), homotopies (paths between paths), homo-
topies between homotopies (paths between paths between paths), and so on. This infi-
nite tower of concepts—spaces, points, paths, homotopies, and so on—is modeled in
type theory by types, elements of types, proofs of equality of elements, proofs of equal-
ity of proofs of equality, and so on. A space corresponds to a type A. Points of a space
correspond to elements a, b : A. Paths in a space are modeled by elements of the identity
type (propositional equality), which we notate p : a =A b. Homotopies between paths p
and q correspond to elements of the iterated identity type p =a=A b q. The rules for the
propositional equality type allow one to define the operations on paths that are consid-
ered in homotopy theory. These include identity paths id : a = a (reflexivity of equality),
inverse paths ! p : b = a when p : a = b (symmetry of equality), and composition of paths
q ◦ p : a = c when p : a = b and q : b = c (transitivity of equality), as well as homotopies
relating these operations (for example, id◦ p = p), and homotopies relating these homo-
topies, etc. This equips each type with the structure of a (weak) ∞-groupoid, as studied
in higher category theory [Lumsdaine, 2009; van den Berg and Garner, 2011]. In cate-
gory theoretic terminology, the elements of a type correspond to objects (or 0-cells), the
proofs of equality of elements to morphisms (1-cells), the proofs of equality of proofs
of equality to 2-morphisms (2-cells), and so on.
One basic question in algebraic topology is calculating the homotopy groups of a
space. Given a space X with a distinguished point x0 , the fundamental group of X at
the point x0 (denoted π1 (X, x0 )) is the group of loops at x0 up to homotopy, with com-
position as the group operation. This fundamental group is the first in a sequence of
homotopy groups, which provide higher-dimensional information about a space: the
G. Gonthier and M. Norrish (Eds.): CPP 2013, LNCS 8307, pp. 1–16, 2013.
c Springer International Publishing Switzerland 2013
2 D.R. Licata and G. Brunerie
homotopy groups πn (X, x0 ) “count” the n-dimensional loops in that space up to ho-
motopy. π2 (X, x0 ) is the group of homotopies between idx0 and itself, π3 (X, x0 ) is the
group of homotopies between ididx0 and itself, and so on. Calculating a homotopy group
πn (X, x0 ) is to construct a group isomorphism between πn (X, x0 ) and some explicit de-
scription of a group, such as Z or Zk (Z mod k).
The homotopy groups of a space can be difficult to calculate. This is true even for
spaces as simple as the n-dimensional spheres (the circle, the sphere, . . . )—some homo-
topy groups of spheres are currently unknown. A category-theoretic explanation for this
fact is that the spheres can be presented as free ∞-groupoids constructed by certain gen-
erators, and it can be difficult to relate a presentation of a space as a free ∞-groupoid
to an explicit description of its homotopy groups. For example, the circle is the free
∞-groupoid generated by one point and one loop:
loop
base
base is a point (object) on the circle, and loop is a path (morphism) from base to itself.
That the circle is the free ∞-groupoid on these generators means that all the points,
paths, homotopies, etc. on the circle are constructed by applying the ∞-groupoid oper-
ations to these generators in a free way. The generator loop represents “going around
the circle once counter-clockwise.” Using the groupoid operations, one can construct
additional paths, such as ! loop (going around the circle once clockwise) and loop ◦ loop
(going around the circle twice counter-clockwise). Moreover, there are homotopies be-
tween paths, such as loop◦! loop = id (going clockwise and then counter-clockwise is
the same, up to homotopy, as staying still). In this case, one can prove that, up to homo-
topy, every loop on the circle is either id or (loop ◦ loop. . . ◦ loop) (n times, for any n)
or (! loop◦! loop. . . ◦! loop) (n times, for any n), and thus that the loops on the circle are
in bijective correspondence with the integers. Moreover, under this bijection, concate-
nation of paths corresponds to addition of integers. Thus, the fundamental group of the
circle is Z.
However, in general, it can be quite difficult to relate a presentation of a space as a
free ∞-groupoid to an explicit description of its homotopy groups, in part because of
action across levels. For example, the sphere can be presented as the free ∞-groupoid
generated by one point (0-cell) base and one homotopy (2-cell) loop2 between idbase
(the path that stands still at base) and itself—think of loop2 as “going around the the
surface of the sphere.” An ∞-groupoid has group operations at each level, so just as
we have identity, inverse, and composition operations on paths (1-cells), we have iden-
tity, inverse, and composition operations on homotopies (2-cells). Thus, we can form
homotopies such as loop2 ◦ loop2 (going around the surface of the sphere twice) and
loop2 ◦! loop2 (going around the surface of the sphere once in one direction, and then
in the opposite direction)—and, analogously to above, there is a homotopy-between-
homotopies relating the latter path to the constant homotopy (loop2 ◦! loop2 = ididbase ).
Thus, one would expect that the homotopies (2-cells) on the sphere have the same struc-
ture as the paths (1-cells) on the circle, and this is indeed the case: π2 (S2 ) is also
Z. However, ∞-groupoids have more structure than just the group operations at each
πn (Sn ) in Homotopy Type Theory 3
That is, to define a function S1 → C, it suffices to find a “circle” in C, which gives the
image of the generators.
The computation rules for this elimination rule are as follows:
S1 −recC (c, p)base :≡ c
ap(S1 −recC (c, p))loop := p
ap (“action on paths”) applies a function f : A → B to a path p : a =A a to produce a
path f a =B f a . Note that the first computation rule is a definitional equality, while the
second is a propositional equality/path—while future versions of homotopy type theory
might take this to be a definitional equality, the known semantics of higher inductive
types justifies only a propositional equality [Lumsdaine and Shulman, 2013]. To ex-
press freeness, we also need to know that S1 −recC (c, p) is the unique such map, up
to homotopy. This can be expressed either by generalizing the simple elimination rule
to a dependent elimination rule, or by adding an η -equality axiom (see [Awodey et al.,
2012] for a discussion of these alternatives for ordinary inductive types).
The second ingredient is to define the homotopy groups of a type. One might think
that we could define the homotopy groups by iterating the identity type:
π1 (X, x0 ) := x0 =X x0
π2 (X, x0 ) := idx0 =(x0 =X x0 ) idx0
π3 (X, x0 ) := ididx0 =(idx =x =X x idx ) ididx0
0 0 0 0
4 D.R. Licata and G. Brunerie
and so on. However, these iterated identity types may still have non-trivial higher-
dimensional structure. The nth homotopy group considers only the structure up to level
n, so we need to “kill” the higher-dimensional structure of these types. Thus, we first
define the nth loop space Ω n (X, x0 ) so that
Ω 1 (X, x0 ) := x0 =X x0
Ω 2 (X, x0 ) := idx0 =(x0 =X x0 ) idx0
Ω 3 (X, x0 ) := ididx0 =(idx =x =X x idx ) ididx0
0 0 0 0
book [The Univalent Foundations Program, 2013]), which gives a shorter calcula-
tion of πn (Sn ) (also described in the HoTT book). This, in turn, led to a proof of an
even more general theorem, the Blakers-Massey theorem [Finster et al., 2013].
– We give a direct higher-inductive definition of the n-dimensional sphere Sn as the
free type with a base point base and a loop in Ω n (Sn ). This definition does not
fall into the collection of higher inductive types that has been formally justified by
a semantics, because it involves a path constructor at a variable level (i.e. in Ω n ,
where n is an internal natural number variable). However, our result shows that it
is a useful characterization of the spheres to work with, and it has prompted some
work on generalizing schemas for higher inductive types to account for these sorts
of definitions.
– The proof we present here includes an investigation of some of the type-theoretic
structure of loop spaces. We will characterize Ω n (A) for various types A, which
explains how concepts such as function extensionality and univalence induce paths
at higher levels. This characterization could potentially inform investigations into
the computational interpretation of univalence, a major open problem.
– The proof has been formalized in Agda [Norell, 2007], and is available on GitHub
in the repository (tag ).
The proof includes a library of lemmas about iterated loop spaces that is indepen-
dent of the particular application to n-dimensional spheres.
We define the n-dimensional sphere Sn (for n ≥ 1) as the higher inductive type generated
by one point base and one point in the nth loop space of Sn at base:
basen : Sn
loopn : Ω n (Sn , base)
The corresponding elimination rule, sphere recursion, says that to define a function
Sn → C, it suffices to give a point c : C and a loop in Ω n (C, c):
C : Type c : C p : Ω n (C, c)
Sn −recC (c, p) : Sn → C
We now describe the calculation that πn (Sn ) = Z for n ≥ 1.1 Formally, this statement
means that there is a group isomorphism between the group πn (Sn ) (with composition
as the group operation) and the additive group Z. In what follows, we will discuss the
proof that the type πn (Sn ) is equivalent (and hence equal, by univalence) to the type Z,
and omit the proof that this equivalence sends composition to addition.
The first step is an induction on n. In the base case, we use the homotopy type theory
proof of π1 (S1 ) = Z described in previous work [Licata and Shulman, 2013]. In the
inductive step, the key lemma is that πn+1 (Sn+1) = πn (Sn ), which, combined with the
inductive hypothesis gives the result.
To show that πn+1 (Sn+1 ) = πn (Sn ), we calculate as follows:2
1 We write πn (X) for πn (X, x0 ) (and similarly for Ω ) when the base point is clear from context.
For the spheres, if we elide the base point, it is the constructor basen .
2 We use the convention of eliding the base point heavily here. The base point of Ω (A) is ida ,
when a is the base point of A. The base point of ||A||k is |a|, where a is the base point of A, and
| − | is the constructor for the n-truncation type ||A||n [The Univalent Foundations Program,
2013, Section 7.3].
πn (Sn ) in Homotopy Type Theory 7
Intuitively, ||Ω (X)||n is a type built from Ω (X) by equating all (n + 1)-cells in Ω (X).
However, Ω (X) is the space of 1-cells (paths) in X, so the (n + 1)-cells in Ω (X) are the
(n + 2)-cells in X. Thus, it is equivalent to equate all (n + 2)-cells in X, and then take
the loop space. Iterating this reasoning gives the equation used above, that
This reasoning reduces the problem to proving the main lemma, that
That is, the loop space on the (n + 1)-sphere is equivalent to the n-sphere, when ap-
propriately truncated. Ω (Sn+1 ) is, by definition, the type basen+1 =Sn+1 basen+1 , so
this lemma is characterizing (the truncation of) a path space of a higher-inductive
type. A general template for doing such characterizations is the encode-decode method
[The Univalent Foundations Program, 2013, Section 8.9], which we apply here.
The bulk of the proof consists of proving that ||Ω (Sn+1 )||n = ||Sn ||n . To build intuition,
consider the case of ||Ω (S2 )||1 = ||S1 ||1 . Setting aside the truncations for the moment,
this means we are comparing points on S1 (the circle) with loops on S2 (the sphere). The
idea is to set up a correspondence where the base point of the circle (base1 ) corresponds
to the constant path at the base point of the sphere (idbase2 ), and going n times around the
loop of the circle (loopn1 ) corresponds to going n times around the surface of the sphere
(loopn2 ). In classical topology, it is clear that this correspondence induces a bijection
between the set of points on the circle and the set of loops on the sphere (both considered
up to homotopy): the circle has one connected component, and any loop on the sphere
can be contracted to the constant loop. Moreover, it induces a bijection between the
set of loops on the circle and the set of 2-loops on the sphere (again considered up to
homotopy), because every loop on the circle is loopn1 for some n, and every 2-loop on
the sphere is loopn2 for some n. While proving these facts is essentially what we are
8 D.R. Licata and G. Brunerie
doing in this section, it should at least be intuitively plausible that the points and loops
on the circle are the same as the loops and 2-dimensional loops on the sphere. But the
loops and 2-dimensional loops on the sphere are the points and loops of the loop space
of the sphere, Ω (S2 ), so the points and loops of S1 are the same as the points and loops
of Ω (S2 ).
However, it is not the case that S1 and Ω (S2 ) are equivalent types, because S2 has
non-trivial 3-dimensional paths, while S1 has only trivial 2-dimensional paths. Thus,
the situation is that the points and paths of S1 are in correspondence with the points and
paths of Ω (S2 ), but the correspondence does not extend to higher dimensions. The role
of the truncation is to account for this difference. Comparing ||S1 ||1 with ||Ω (S2 )||1 con-
siders only points and paths, not any higher-dimensional cells, and restricted to points
and paths the above correspondence is in fact an equivalence.
To prove the lemma, we proceed as follows. First, we define a map Sn → Ω (Sn+1 )
by sphere recursion, where
promote : Sn → Ω (Sn+1 )
promote(basen ) :≡ idbasen+1
apn promote (loopn ) := loopn+1
In the third line, we omit an application of LoopPath, which coerces Ω n+1 (Sn+1 ),
the type of loopn+1 , to the required type Ω n (Ω (Sn+1 ))—loopn+1 can be seen as an
n-dimensional loop in Ω (Sn+1). promote is one direction of the correspondence de-
scribed above; for example, it sends loops on the circle to 2-dimensional loops on the
sphere. Because functions are functors, we specify only the action on the generators
basen and loopn ; the function automatically preserves identity, composition, etc., and
thus, for example, takes the n-fold composition loopn1 to the n-fold composition loopn2 ,
as desired. Thinking of Sn+1 as the suspension of Sn , this is the meridian map of the sus-
pension, which embeds X into Ω (Σ X)—i.e. it’s the unit of the suspension/loop space
adjunction.
Because truncation is functorial, promote extends to a map ||Sn ||n → ||Ω (Sn+1 )||n :
decode : ||Sn ||n → ||Ω (Sn+1 )||n
decode (|x|) = |promote(x)|
(where peeling off the truncation is permitted by truncation-elimination, because || − ||n
is an n-type).
We would like to show that this map is an equivalence. To define the inverse map
||Ω (Sn+1 )||n → ||Sn ||n , we need to define a map out of (the truncation of) a path space.
One central tool for doing this is univalence: we define a map from Sn+1 into the uni-
verse, so that the base point of Sn+1 is sent to ||Sn ||n and paths in Sn+1 are sent to
equivalences, and then we apply the equivalence determined by a loop to the base point
of ||Sn ||n . In this case, we define a fibration Codes by sphere recursion
Codes : Sn+1 → Type
Codes(basen+1 ) :≡ ||Sn ||n
apn Codes (loopn+1 ) := (. . . : Ω n+1 (Type, ||Sn ||n ))
The fiber over the base point is ||Sn ||n , so Codes will send an element of Ω (Sn+1 )
(which, recall, is notation for basen+1 =Sn+1 basen+1 ) to an equivalence ||Sn ||n ||Sn ||n .
πn (Sn ) in Homotopy Type Theory 9
Thus, we can define a function encode : ||Ω (Sn+1)||n → ||Sn ||n by applying Codes to
the given path (after peeling off the truncation brackets, which is allowed because the
result is an n-type), and then applying the resulting equivalence to |basen |:
encode : ||Ω (Sn+1)||n → ||Sn ||n
encode (|p|) = (ap(Codes)p)|basen |
Eliding truncations for a moment, the term apn (encode ) is a function from
Ω n (Ω (Sn+1 )) to Ω n (Sn ), so it determines (by LoopPath) a function from Ω n+1 (Sn+1 )
to Ω (S ). Because we would like encode to be inverse to decode , we need to fill in
n n
the . . . in the definition of Codes so that apn encode sends loopn+1 to loopn (modulo
truncations and LoopPath). Thus, we need an element of Ω n+1 (Type, ||Sn ||n ) that is
somehow determined by loopn , so that we get loopn back out when we apply encode .
The key maneuver is to apply an equivalence between Ω n+1 (Type, A) and
Π x:A. Ω n (A, x) (discussed below). That is, an n + 1-dimensional loop in the space of
types with base point A is the same as a family of n-dimensional loops in A, given for
each point in A. This reduces the problem to giving an element of type
Π x:||Sn ||n . Ω n (||Sn ||n , x)
which (modulo some truncation manipulation) is defined by sphere-elimination, send-
ing basen to loopn , and proving that this choice respects loopn . For n = 1, a small
calculation is needed to prove this final condition, and for any greater n it is trivial by
truncation reasons. This “packages up” loopn in the Codes fibration in such a way that
encode extracts it.
This defines a fibration Codes over Sn+1 , where the fiber over the base point is ||Sn ||n ,
and the lifting of the n + 1-loop is an n-dimensional homotopy given by “going around
loopn once”. For n = 1, this is a fibration over S2 , where the fiber over the base is S1 (S1
is already a 1-type, so the truncation cancels), and the lifting of loop2 goes around the
circle—i.e., it is the Hopf fibration (though we do not need to calculate the total space
to prove our theorem).
Now that we have defined encode and decode , the task is to show that they are
mutually inverse. The remaining steps required to do so are as follows:
– First, we do a calculation to show that encode (decode c) = c. The proof uses
sphere-elimination, and calculations with the loop space library—this is where we
prove that encode takes loopn+1 to loopn .
– The definition of encode given above in fact has a more general type: it works not
only for loops, but for paths to any endpoint x:
encode : Π x:Sn+1 . (basen+1 =Sn+1 x) → Codes(x)
encode(|p|) = (ap(Codes)p)|basen |
– Through a somewhat involved calculation with the loop space library, we can show
that decode extends to a function
– Now that we have generalized to encode and decode, it is easy to show that
The details of these steps are somewhat intricate, so we refer the reader to the Agda
proof.
Next, we give a brief overview of some of the key lemmas in the loop space library.
Ω (X : Type, x0 : X) : Type
Ω (X, x0 ) :≡ (x0 =X x0 )
idn : Ω (X, x0 )
id1 :≡ idx0
id1+n :≡ ididn
That is, we define Ω n mutually with a point idn of it. This definition unfolds as Ω 1+n(X) =
Ω (Ω n (X)). An alternative is to define
i.e. Ω01+n (X) = Ω0n (Ω (X)). By the LoopPath lemma, these two definitions are equiv-
alent, so we can unfold Ω 1+n in both ways. The current loop space library takes Ω as
the main definition and uses Ω0 as an auxiliary notion. However, since the different
definitions have different definitional behaviors, it would be interesting to try revising
the library based on taking Ω0 as the main notion, to see if it is simpler or not.
In addition to idn , there are also inverse and composition operations on each loop
space:
!n (l : Ω n (X, x0 )) : Ω n (X, x0 )
(l1 : Ω n (X, x0 )) ◦n (l2 : Ω n (X, x0 )) : Ω n (X, x0 )
We prove various groupoid laws for these operations (unit, involution).
Many loop space operations are defined by induction on n. For example, consider
applying a function to a loop. Intuitively, the idea is that apn f l iterates ap to apply f
πn (Sn ) in Homotopy Type Theory 11
at the appropriate level. For example, ap2 f should be ap(ap f ), while ap3 f should be
ap(ap (ap f )). In general, it is defined as follows:
In the 1 + n case, l : Ω (Ω n (X)). The recursive call apn f has type Ω n (X, x0 ) →
Ω n (Y, f (x0 )). Thus, using ap to apply this to the path l gives an element of
We require an element of idn = idn , so we compose on both sides with a proof apn -id that
apn preserves identities. Many definitions on Ω n follow this template: an induction on
n, defined mutually with a lemma stating preservation of identities. apn also preserves
inverses and composition, and is functorial in the function position:
apn (λ x.x)l = l
apn (g ◦ f )l = apn g(apn f l)
Another key lemma is that ap1+n can be unfolded in the other assocativity: above, we
essentially defined ap1+n = ap(apn f ). We can prove that it is also equal to apn (ap f )
(with the appropriate LoopPath coercions inserted).
Some properties hold only for n ≥ 2. For example,
apn ! l =!n l
This follows from the Eckmann-Hilton argument, which shows that the higher homotopy
groups are abelian, and that the two different ways of composing higher-dimensional
loops are homotopic.
Loops in Types. For many types A, one can give a straightforward characterization of
the paths in A. For example:
One important piece of the loop space library is an investigation of how these char-
acterizations extend to higher-dimensional loop spaces.
id f = f =Π x:A. B f id f
12 D.R. Licata and G. Brunerie
But by applying function extensionality (and using its action on id f ), this type is equiv-
alent to
(λ x.id f x ) =Π x:A. fx=B(x) fx (λ x.id f x )
Π x:A. id f x = f x=B(x) f x id f x
Ω n (A = A, p) = Ω n (A → A, coe(p))
Loop spaces. The LoopPath lemma mentioned above also fits this pattern: it char-
acterizes an n-dimensional loop in a loop space as a (1 + n)-dimensional loop in the
underlying space:
Ω n (Ω (A), ida ) = Ω 1+n (A, a)
Putting it all together. Combining the previous three lemmas, we have that
This equivalence is the “key maneuver” that we used to define the Codes fibration in
Section 2.3 above.
πn (Sn ) in Homotopy Type Theory 13
Loops over a Loop. The notion of a “path over a path” is a key ingredient of the
dependent elimination rule for higher inductive types. Given p : a1 =A a2 , and a fi-
bration B : A → Type, a path over p relates b1 : B(a1 ) to b2 : B(a2 ). This is a kind of
heterogeneous equality [McBride, 2000] between elements of different instances of B.
However, the notion of a path over a path need not be taken as primitive, since it can be
represented by a homogeneous path transportB p b1 =B(a2 ) b2 .
In the library, we define an n-dimensional loop over a loop Ω pn (B, b0 ) (where p :
Ω (A, a0 ) and b0 : B(a0 )) by induction on n, using transport at each level to account for
n
the heterogeneity. For small n, this definition gives the expected dependent elimination
rule for, e.g., S1 and S2 and S3 , the specific spheres whose higher inductive elimination
rule had previously been written out. For example, for S2 , sphere elimination with B :
S2 → Type and b : B(base) requires a proof of
3 Formalization
The calculation of πn (Sn ) described in Sections 2.2 and 2.3 is in ;
it is about 250 lines of code. The loop space library described in Section 2.4 is in
; it is about 1500 lines of code. The proof of πn (Sn ), including specifying
the lemmas it uses from the loop space library, took a few days. The loop space library
then took a couple of weeks to complete, working for perhaps 4 hours per day.
The formalization has one cheat, which is that it takes place in an Agda homotopy
type theory library that uses type:type as a terser form of universe polymorphism than
Agda’s. More recent homotopy type theory libraries use Agda’s universe polymorphism
instead of type:type, and we believe that the proof could be ported to such a library.
Agda does not provide very much proof automation for this proof: the bulk of the
proof is manual equational calculations with the loop space operations. However, with
an improved computational understanding of homotopy type theory, some of these cal-
culation steps might be definitional equalities.
That said, Agda was quite useful as a proof checker, and for telling us what we
needed to prove next. The terms involved in the calculations get quite long, so it would
be difficult to do these calculations, or to have confidence that they were done correctly,
without the use of a proof checker.
It is worth describing one new device that we developed for this proof, which is a
combination of a mathematical and a engineering insight. Often in this proof, we are
manipulating paths that have the form ◦ ◦ ! ( conjugated by ), where is thought
of as “the actual path of interest” and is some “coercion” or “type cast” that shows that
14 D.R. Licata and G. Brunerie
it has some desired type. Early in the development of the proof, we got stuck, because
manipulating these coercions explicitly gets quite cumbersome.
The engineering insight is that, if we define a function that returns ◦ ◦ ,
but make it abstract (i.e. hide its definition), then Agda can fill in in terms of the form
in the middle of an equational calculation by unification. By stating the coercions
at the beginning and end of the proof, and using lemmas that propagate this informa-
tion without explicitly mentioning it, we need not state the coercions at each step of
the proof. Though is abstract, we export a propositional equality equating it to
◦ ◦ , so that we can use this technique in the intermediate steps of a calculation;
the overall theorem is the same.
The mathematical insight is that, for an element of a doubly-iterated identity type
(i.e. when is at least a path between paths), for any coercions and of the same
type, ( ◦ ◦ ! ) = ( ◦ ◦ ). This is a consequence of the higher homotopy groups
being abelian.
Combining these two insights, we can let Agda infer the coercions as we proceed
through the steps of the proof, and then, at the end, when we need the inferred coercion
to turn out to be a specific one, we simply apply the lemma. As a practical matter, this
technique for managing these coercions was essential to our being able to complete this
proof.
For example, here is a snippet of an equational deduction without applying the
technique:
adjust (ap^-id n (λ f → f x) {f}) (ap (λ f → apl n f x) (adjust (λ l-id n) (ap (λ l n) (λ a)))) ...
adjust (ap^-id n (λ f → f x) {f}) (ap (λ f → apl n f x) (adj (ap (λ l n) (λ a)))) . .
adj (ap^-id n (λ f1 f1 x)) (ap (λ f → apl n f x) (adj (ap (λ l n) (λ a)))) ...
adj (ap^-id n (λ f1 f1 x) ◦ ap (λ f’ apl n f’ x) (λ l-id n)) (ap (λ f → apl n f x) (ap (λ l n) (λ a))) ...
adj (ap^-id n (λ f1 f1 x) ◦ ap (λ f’ apl n f’ x) (λ l-id n)) (ap (λ f apl n (λ l n f) x) (λ a)) ...
adj ((ap^-id n (λ f1 f1 x) ◦ ap (λ f’ apl n f’ x) (λ l-id n)) ◦ ap (! (β n (λ x1 id^ n)))) (ap (λ f f x) (λ a)) ...
adj ((ap^-id n (λ f1 f1 x) ◦ ap (λ f’ apl n f’ x) (λ l-id n)) ◦ ap (! (β n (λ x1 id^ n)))) (a x) ...
adj id (a x) ! (adj-id )
ax
Here is the same snippet, where we use the technique and replace the first argument to
with :
adjust (ap^-id n (λ f → f x) {f}) (ap (λ f → apl n f x) (adjust (λ l-id n) (ap (λ l n) (λ a)))) ...
adjust (ap^-id n (λ f → f x) {f}) (ap (λ f → apl n f x) (adj (ap (λ l n) (λ a)))) ...
adj (ap (λ f → apl n f x) (adj (ap (λ l n) (λ a)))) ...
adj (ap (λ f → apl n f x) (ap (λ l n) (λ a))) ...
adj (ap (λ f apl n (λ l n f) x) (λ a)) ...
adj (ap (λ f f x) (λ a)) ...
adj (a x) ...
adj id (a x) ...
ax
Moreover, if we did not appeal to the fact that any two coercions give equal results, it
is unclear how we would even prove, between the second-to-last and third-to-last lines,
that
The inferred coercion (the left-hand-side of this equation) uses several loop space lem-
mas that are defined by induction on , and it is unclear how to prove that they cancel
each other.
4 Conclusion
In this paper, we have described a computer-checked calculation of πn (Sn ) in homo-
topy type theory. One important direction for future work is to develop a computational
interpretation of homotopy type theory; our proof would be a good test case for such an
interpretation. Given a number k, how does the proof compute the path loopkn ? Or, more
interestingly, given a path on Sn , how does the proof compute a number? Another direc-
tion would be to investigate the relationship between this proof and proofs of πn (Sn ) in
classical homotopy theory. The proof we have described here has since been generalized
to a proof of the Freudenthal Suspension Theorem [The Univalent Foundations Program,
2013], which is one way that πn (Sn ) is proved in classical homotopy theory. However,
it would be interesting to see whether the more specific proof presented here has been
(or can be) phrased in classical terms.
References
Awodey, S., Warren, M.: Homotopy theoretic models of identity types. In: Mathematical Pro-
ceedings of the Cambridge Philosophical Society (2009)
Awodey, S., Gambino, N., Sojakova, K.: Inductive types in homotopy type theory. In: IEEE Sym-
posium on Logic in Computer Science (2012)
Finster, E., Licata, D.R., Lumsdaine, P.L.: The Blakers-Massey theorem in ∞-topoi and homotopy
type theory (in preparation, 2013)
Licata, D.R., Shulman, M.: Calculating the fundamental group of the cirlce in homotopy type
theory. In: IEEE Symposium on Logic in Computer Science (2013)
Lumsdaine, P.L.: Weak ω -categories from intensional type theory. In: Curien, P.-L. (ed.) TLCA
2009. LNCS, vol. 5608, pp. 172–187. Springer, Heidelberg (2009)
Lumsdaine, P.L., Shulman, M.: Higher inductive types (in preparation, 2013)
Martin-Löf, P.: An intuitionistic theory of types: Predicative part. In: Rose, H., Shepherdson, J.
(eds.) Proceedings of the Logic Colloquium, Logic Colloquium 1973. Studies in Logic and the
Foundations of Mathematics, vol. 80, pp. 73–118. Elsevier (1975)
McBride, C.: Dependently Typed Functional Programs and Their Proofs. PhD thesis, University
of Edinburgh (2000)
Nordström, B., Peterson, K., Smith, J.: Programming in Martin-Löf’s Type Theory, an Introduc-
tion. Clarendon Press (1990)
Another random document with
no related content on Scribd:
Channing left the establishment known as Joe's and advertised as
the "Best bar in twenty-seven million miles, minimum," and made his
way toward his office slowly. He didn't reach it. Not right away. He
was intercepted by Charley Thomas who invited him to view a small
experiment. Channing smiled and said that he'd prefer to see an
experiment of any kind to going to his office, and followed Charley.
"You recall the gadget we use to get perfect tuning with the alloy-
selectivity transmitter?"
"You mean that variable alloy disk all bottled up and rotated with a
selsyn?" asked Don, wondering what came next. "Naturally I
remember it. Why?"
"Well, we've found that certain submicroscopic effects occur with inert
objects. What I mean is this: Given a chunk of cold steel of goodly
mass and tune your alloy disk to pure steel, and you can get a few
micro-microamperes output if the tube is pointed at the object."
"Sounds interesting. How much amplification do you need to get this
reading and how do you make it tick?"
"We run the amplifier up to the limit and then sweep the tube across
the object sought, and the output meter leaps skyward by just enough
to make us certain of our results. Watch!"
Charley set the tube in operation and checked it briefly. Then he took
Don's hand and put it on the handle that swung the tube on its
gimbals. "Sort of paint the wall with it," he said. "You'll see the
deflection as you pass the slab of tool steel that's standing there."
Channing did, and watched the minute flicker of the ultra-sensitive
meter. "Wonderful," he grinned, as the door opened and Franks
entered.
"Hi, Don. Is it true that you bombarded her with flowers?"
"Nope. She's just building up some other woman's chances. Have
you seen this effect?"
"Yeah—it's wonderful, isn't it?"
"That's what I like about this place," said Charley with a huge smile.
"That's approximately seven micro-microamperes output after
amplification on the order of two hundred million times. We're either
working on something so small we can't see it or something so big we
can't count it. It's either fifteen decimal places to the left or to the
right. Every night when I go home, I say a little prayer. I say: 'Dear
God, please let me find something today that is based upon unity, or
at least no more than two decimal places' but it is no good. If He
hears me at all, He's too busy to bother with things that the human
race classifies as 'One.'"
"How do you classify resistance, current, and voltage?" asked
Channing, manipulating the tube on its gimbals and watching the
effect.
"One million volts across ten megohms equals one hundred thousand
microamperes. That's according to Ohm's Law."
"He's got the zero-madness too," chuckled Walt. "It obtains from
thinking in astronomical distances, with interplanetary coverages in
watts, and celestial input, and stuff like that. Don, this thing may be
handy, some day. I'd like to develop it."
"I suggest that couple of stages of tube-amplification might help.
Amplify it before transduction into electronic propagation."
"We can get four or five stages of sub-electronic amplification, I think.
It'll take some working."
"O.K., Charley. Cook ahead. We do not know whither we are heading,
but it looks darned interesting."
"Yeah," added Walt, "it's a darned rare scientific fact that can't be
used for something, somewhere. Well, Don, now what?"
"I guess we now progress to the office and run through a few reams
of paper-work. Then we may relax."
"O.K. Sounds good to me. Let's go."
"Mind telling me how you found yourself in the fix you're in?"
"Not at all. I've been interested for years in neuro-surgery. My
researches passed beyond the realm of rabbits and monkeys, and I
found it necessary to investigate the more delicate, more organized,
the higher-strung. That means human beings—though some of them
are less sensitive than a rabbit and less delicate than a monkey."
Murdoch's eyes took on a cynical expression at this. Then it passed
and he continued: "I became famous, as you know. Or do you?"
Kingman shook his head.
"I suppose not. I became famous in my own circle. Lesser neuro-
surgeons sent their complex cases to me; unless you were complex,
you would never hear of Allison Murdoch. Well anyway, some of them
offered exciting opportunities. I—frankly, experimented. Some of them
died. It was quite a bit of cut and try because not too much has been
written on the finer points of the nervous system. But there were too
few people who were complex enough to require my services, and I
turned to clinical work, and experimented freely."
"And there you made your mistake?"
"Do you know how?"
"No. I imagine that with many patients you exceeded your rights once
too often."
"Wrong. It is a funny factor in human relationship. Something that
makes no sense. When people were paying me three thousand
dollars an hour for operations, I could experiment without fear. Some
died, some regained their health under my ministrations. But when I
experimented on charity patients, I could not experiment because of
the 'Protection' given the poor. The masses were not to be guinea
pigs. Ha!" laughed Murdoch, "only the rich are permitted to be
subjects of an experiment. Touch not the poor, who offer nothing.
Experiment upon those of intellect, wealth, fame, or anything that sets
them above the mob. Yes, even genius came under my knife. But I
couldn't give a poor man a fifty-fifty chance at his life, when the
chances of his life were less than one in ten. From a brilliant man,
operating under fifty-fifty chances for life, I became an inhuman
monster that cut without fear. I was imprisoned, and later escaped
with some friends."
"And that's when you stole the Hippocrates and decided that the solar
system should pay you revenge-money?"
"I would have done better if I had not made that one mistake. I forgot
that in the years of imprisonment, I fell behind in scientific knowledge.
I know now that no one can establish anything at all without technical
minds behind him."
Kingman's lips curled. "I wouldn't agree to that."
"You should. Your last defeat at the hands of the technicians you
scorn should have taught you a lesson. If you had been sharp, you
would have outguessed them; outengineered them. They, Kingman,
were not afraid to rip into their detector to see what made it tick."
"But I had only the one—"
"They knew one simple thing about the universe. That rule is that if
anything works once, it may be made to work again." He held up his
hand as Kingman started to speak. "You'll bring all sorts of cases to
hand and try to disprove me. You can't. Oh, you couldn't cause a
quick return of the diplodocus, or re-enact the founding of the solar
government, or even reburn a ton of coal. But there is other carbon,
there will be other governmental introductions and reforms, and there
may some day be the rebirth of the dinosaur—on some planet there
may be carboniferous ages now. Any phenomena that is a true
phenomena—and your detector was definite, not a misinterpretation
of effect—can be repeated. But, Kingman, we'll not be outengineered
again."
"That I do believe."
In the Relay Girl, Channing mopped his forehead. "That was hell
itself," he said.
Arden laughed uncertainly. "I thought that it would wait until we got
there; I didn't expect hell to come after us."
"What—exactly—happened?" asked Walt, coming into the scanning
room.
"That—was a spaceship."
"One of this system's?"
"I wonder," said Don honestly. "It makes a guy wonder. It was gone
too fast to make certain. It probably was Solarian, but they tried to
burn us with something."
"That makes it sound like something alien," admitted Walt. "But that
doesn't make good sense."
"It makes good reading," laughed Channing. "Walt, you're the Boy
Edison. Have you been tinkering with anything of lethal leanings?"
"You think there may be something powerful afloat?"
"Could be. We don't know everything."
"I've toyed with the idea of coupling a solar intake beam with one of
those tubes that Baler and Carroll found. Recall, they smashed up
quite a bit of Lincoln Head before they uncovered the secret of how to
handle it. Now that we have unlimited power—or are limited only by
the losses in our own system—we could, or should be able to, make
something rather tough."
"You've toyed with the idea, hey?"
"Uh-huh."
"Of course you haven't really tried it?"
"Of course not."
"How did it work?"
"Fair," grinned Walt. "I did it with miniatures only, of course, since I
couldn't get my hooks on a full-grown tube."
"Say," asked Arden, "how did you birds arrive at this idea so
suddenly? I got lost at the first premise."
"We passed a strange ship. We heated up to uncomfortable
temperatures in a matter of nine seconds flat. They didn't warm us
with thought waves, or vector-invectives. Sheer dislike wouldn't do it
alone. I guess that someone is trying to do the trick started by our
esteemed Mr. Franks here a year or so ago. Only with something
practical instead of an electron beam. Honest-to-goodness energy,
right from Sol himself, funneled through some tricky inventions. Walt,
that experiment of yours. Did you bring it along?"
Walt looked downcast. "No," he said. "It was another one."
"Let's see."
"It's not too good—"
"Same idea?"
Walt went to get his experiment. He returned with a tray full of
laboratory glassware, all wired into a maze of electronic equipment.
Channing went white. "You, too?" he yelled.
"Take it easy, sport. This charges only to a hundred volts. We get
thirteen hundred microfarads at one hundred volts. Then we drain off
the dielectric fluid, and get one billion three hundred million volts
charge in a condenser of only one hundred micro-microfarads. It's an
idea for the nuclear physics boys. I think it may tend to solidify some
of the uncontrollables in the present system of developing high
electron velocities."
"That thirteen million dielectric constant stuff is strictly electro-
dynamite, I think," said Channing. "Farrell may have developed it as a
by-product, but I have a hunch that it will replace some heretofore
valuable equipment. The Franks-Farrell generator will outdo Van-Der
Graf's little job, I think."
"Franks-Farrell?"
"Sure. He thunk up the dielectric. You thunk up the application. He
won't care, and you couldn't have done it without. Follow?"
"Oh sure. I was just trying to figure out a more generic term for it."
"Don't. Let it go as is for now. It's slick, Walt, but there's no weapon in
it."
"You're looking for a weapon?"
"Uh-huh. Ever since Murdoch took a swing at Venus Equilateral, I've
been sort of wishing that we could concoct something big enough and
dangerous enough to keep us free from any other wiseacres.
Remember, we stand out there like a sore thumb. We are as
vulnerable as a half pound of butter at a banquet for starving
Armenians. The next screwball that wants to control the system will
have to control Venus Equilateral first. And the best things we can
concoct to date include projectile-tossing guns at velocities of less
than the speed of our ships, and an electron-shooter that can be
overcome by coating the ship with any of the metal-salts that
enhance secondary emission."
"Remind me to requisition a set of full-sized tubes when we return.
Might as well have some fun."
"O.K., you can have 'em. Which brings us back to the present.
Question: Was that an abortive attempt upon our ship, or was that a
mistaken try at melting a meteor?"
"I know how to find out. Let's call Charley Thomas and have him get
on the rails. We can have him request Terran Electric to give us any
information they may have on energy beams to date."
"They'd tell you?" scorned Arden.
"If they write no!, and we find out that they did, we'll sue 'em dead.
They're too shaky to try anything deep right now."
"Going to make it an official request, hey?"
"Right. From the Station, it'll go out in print, and their answer will be
on the 'type, too, since business etiquette requires it. They'll get the
implication if they're on the losing end. That'll make 'em try something
slick. If they're honest, they'll tell all."
"That'll do it all right," said Walt. "They're too shaky to buck us any
more. And if they are trying anything, it'll show."
The rest of the trip was without incident. They put in at Canalopsis
and found Keg Johnson with an official 'gram waiting for them. Don
Channing ripped it open and read:
Interplanetary Communications
Attention Dr. Channing:
No project for energy-beam capable of removing meteors
under way at Terran Electric, or at any of the subsidiary
companies. Ideas suggested along these lines have been
disproven by your abortive attempt of a year ago, and will
not be considered unless theory is substantiated in every
way by practical evidence.
If you are interested, we will delve into the subject from all
angles. Please advise.
Terran Electric Co.
Board of Legal Operations
Mark Kingman, LLD.
Channing smiled wryly at Keg Johnson and told him of their trouble.
"Oh?" said Keg, with a frown. "Then you haven't heard?"
"Heard what?"
"Hellion Murdoch has been on the loose for weeks."
"Weeks!" yelled Channing.
"Uh-huh. He feigned gangrene, was taken to the base hospital where
he raised hob in his own, inimitable way. He blasted the
communications set-up completely, ruined three spaceships, and
made off with the fourth. The contact ship just touched there recently
and found hell brewing. If they hadn't had a load of supplies and
prisoners for the place, they wouldn't have known about it for months,
perhaps."
"So! Brother Murdoch is loose again. Well! The story dovetails in
nicely."
"You think that was Hellion himself?"
"I'd bet money on it. The official report on Hellion Murdoch said that
he was suffering from a very slight persecution complex, and that he
was capable of making something of it if he got the chance. He's
slightly whacky, and dangerously so."
"He's a brilliant man, isn't he?"
"Quite. His name is well known in the circles of neuro-surgery. He is
also known to be an excellent research worker in applied physics."
"Nuts, hey?" asked Walt.
"Yeah, he's nuts. But only in one way, Walt. He's nuts to think that he
is smarter than the entire solar system all put together. Well, what do
we do now?"
"Butter ourselves well and start scratching for the answer. That
betatron trick will not work twice. There must be something."
"O.K., Walt. We'll all help you think. I'm wondering how much
research he had to do to develop that beam. After all, we were five
thousand miles away, and he heated us up. He must've thought we
were a meteor—and another thing, too—he must've thought that his
beam was capable of doing something at five thousand miles
distance or he wouldn't have tried. Ergo he must have beaten that
two hundred mile bugaboo."
"We don't know that the two hundred mile bugaboo is still bugging in
space," said Walt, slowly. "That's set up so that the ionization-by-
products are not dangerous. Also, he's not transmitting power from
station to station, et cetera. He's ramming power into some sort of
beam and to the devil with losses external to his equipment. The
trouble is, darn it, that we'll have to spend a month just building a
large copy of my miniature set-up."
"A month is not too much time," agreed Channing. "And Murdoch will
take a swing at us as soon as he gets ready to reach. We can have
Charley start building the big tubes immediately, can't we?"
"Just one will be needed. We'll use one of the standard solar intake
tubes that we're running the Station from. There's spare equipment
aplenty. But the transmitter-terminal tube will take some building."
"Can we buy one from Terran Electric?"
"Why not? Get the highest rating we can. That should be plenty.
Terran probably has them in stock, and it'll save us building one."
"What is their highest rating?"
"Two hundred megawatts."
"O.K. I'll send 'em a coded requisition with my answer to their letter."
"What are you going to tell 'em?"
"Tell 'em not to investigate the energy-gun idea unless they want to
for their own reasons," Channing grinned. "They'll probably assume—
and correctly—that we're going to tinker ourselves."
"And?"
"Will do nothing since it is an extra-planetary proposition. Unless it
becomes suitable for digging tunnels, or melting the Martian ice cap,"
laughed Channing.
Mark Kingman took the letter to Murdoch, who was hidden in the
depths of the Black Widow. Hellion read it twice, and then growled.
"They smell something, sure," he snarled. "Why didn't we make that a
perfect hit!"
"What are we going to do now?"
"Step up our plans. They'll have this thing in a few weeks. Hm-m-m.
They order a transmitter-terminal tube. Have you got any in stock?"
"Naturally. Not in stock, but available for the Northern Landing power-
line order."
"You have none, then. You will have some available within a few
days. That half-promise will stall them from making their own, and
every day that they wait for your shipment is a day in our favor. To
keep your own nose clean, I'll tell you when to ship the tube. It'll be a
few days before I strike."
"Why bother?" asked Kingman. "They won't be around to call names."
"No, but their friends will, and we want to keep them guessing."
"I see. Those tubes are huge enough to excite comment, and there
will be squibs in all the papers telling of the giant going to Venus
Equilateral, and the Sunday Supplements will all break out in wild
guesses as to the reason why Venus Equilateral wants a two hundred
megawatt tube. Too bad you couldn't keep your escape a longer
secret."
"I suppose so. But it was bound to be out sooner or later anyway. A
good general, Kingman, is one whose plans may be changed on a
moment's notice without sacrificing. We'll win through."
The days wore on, and the big turret on the top of the Black Widow
took shape. The supertubes were installed, and Murdoch worked in
the bowels of the ship to increase the effectiveness of the course-
integrators to accommodate high velocities and to correct for the
minute discrepancies that would crop up due to the difference in
velocities between light and sub-electronic radiation.