#  Technical Report:
Giving Hints for Logic Programming Examples
without Revealing Solutions††thanks: This is a slightly extended English
version of [1] (original in Turkish). This work has been supported by
Scientific and Technological Research Council of Turkey (TUBITAK) Grant
114E777.

Gokhan Avci, Mustafa Mehuljic, and Peter Schüller
Computer Engineering Department, Faculty of Engineering
Marmara University, Turkey
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

We introduce a framework for supporting learning to program in the paradigm of
Answer Set Programming (ASP), which is a declarative logic programming
formalism. Based on the idea of teaching by asking the student to complete
small example ASP programs, we introduce a three-stage method for giving hints
to the student without revealing the correct solution of an example. We
categorize mistakes into (i) syntactic mistakes, (ii) unexpected but
syntactically correct input, and (iii) semantic mistakes, describe
mathematical definitions of these mistakes, and show how to compute hints from
these definitions.

##  1 Introduction

Answer Set Programming (ASP) [5, 10, 4] is a declarative logic programming and
knowledge representation paradigm. Learning how to use ASP is challenging,
because logic programming is very different from imperative programming (Java,
C, C++) and also different from Prolog (in particular the order of rules has
no influence on the evaluation algorithm).

We here consider teaching ASP by giving small real-world knowledge
representation examples and partial programs to students, and ask them to
complete the program. To supporting the student, examples can often be
visualized and it is even possible to connect visualization and knowledge
representation such that clicking the visualization can show the parts of the
program that define the visualized object [9]. Creating such visualization is
a work-intensive task, and creating simple examples for teaching ASP is also
work-intensive.

To support the student in finding the correct answer, in this work we describe
a system for giving hints based on the example program, the user input, and a
reference program, such that the hints do not reveal the true answer.

Consider the following example specification.

> We have a graph which represents the map of cities connected by roads.
> Cities are nodes, roads are edges, all roads are bidirectional, and roads
> might be blocked. The task is is to find a route from city $X$ to city $Y$
> in the road network such that the path uses only roads that are not blocked.
> The graph is shown in Figure 1 and is represented in the following set of
> facts.

$\begin{split}\begin{array}[]{@{\\!\\!}l@{\
}l@{}}\mathtt{road(istanbul,kocaeli).}&\mathtt{road(karabuk,bolu).}\\\
\mathtt{road(kocaeli,sakarya).}&\mathtt{road(duzce,karabuk).}\\\
\mathtt{blocked(duzce,zonguldak).}&\mathtt{road(bolu,zonguldak).}\\\
\mathtt{road(duzce,zonguldak).}&\mathtt{road(sakarya,duzce).}\end{array}\end{split}$
(1)

> Moreover the fact that roads are bidirectional is represented in the
> following rule.

$\mathtt{road(X,Y)}\ \operatorname{:-}\ \mathtt{road(Y,X).}$ (2)

> Question: Write a rule which defines predicate
> $\mathtt{open\\_road(From,To)}$ that is true for all pairs of cities where
> the direct road connection from $\mathtt{From}$ to $\mathtt{To}$ is not
> blocked.

The expected answer to this example is as follows.

$\displaystyle\begin{array}[]{@{}r@{\ }l@{}}\mathtt{open\\_road(X,Y)}\
\operatorname{:-}\ \mathtt{road(X,Y)},\ \operatorname{\mathtt{not}}\
\mathtt{blocked(X,Y)},\ \operatorname{\mathtt{not}}\
\mathtt{blocked(Y,X).}\end{array}$ (4)

However we might get several different kinds of answers from students, for
example the following.

$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X,Y),\
\operatorname{\mathtt{not}}\ blocked(X,Y)}$ (5)
$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X,Y),\
\operatorname{\mathtt{not}}\ blocked(X,Y);}$ (6)
$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X,Y),\
\operatorname{\mathtt{not}}\ obstacle(X,Y).}$ (7)
$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X),\
\operatorname{\mathtt{not}}\ blocked(X,Y).}$ (8)
$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(x,y),\
\operatorname{\mathtt{not}}\ blocked(X,Y).}$ (9)
$\displaystyle\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X,Y),\
\operatorname{\mathtt{not}}\ blocked(duzce,bolu).}$ (10)

Some of these answers are simply typos or missing syntactical elements such as
(5) and (6). Other mistakes can be processed by ASP solvers but do not yield
the correct output such as (7)–(10).

$\mathtt{Istanbul}$$\mathtt{Kocaeli}$$\mathtt{Sakarya}$$\mathtt{Duzce}$$\mathtt{Zonguldak}$$\mathtt{Bolu}$$\mathtt{Karabuk}$

Figure 1: Cities and interconnecting roads in our example.

In this work we propose a framework that produces a hint about the mistake
from the student answer and the reference program. The hint does not reveal
the correct solution.

This has the benefit, that fewer examples are sufficient for teaching ASP and
fewer effort in visualization is required. Moreover student motivation is not
diminished by giving away the solution.

We categorize mistakes into syntactic mistakes such as (5) and (6), unexpected
but syntactically correct input such as (7)–(9), and semantic mistakes such as
(10). We clearly define criteria for recognizing each class of these mistakes,
and describe mathematically how to compute information necessary to give a
helpful hint, including example hints for the case above.

We give preliminaries in Section 2, describe the architecture of our hint
giving framework in Section 3, give details about mathematical classification
of mistakes and corresponding hints in Section 4, briefly mention related work
in Section 5 and conclude in Section 6.

##  2 Preliminaries

Answer Set Programming (ASP) is a declarative logic programming paradigm [5,
10, 4]. An atom is form $p(x_{1},\ldots,x_{l})$ with $0\,{\leq}\,l$, and if
$l\,{=}\,0$ we write the atom short as $p$. A program $P$ consists of a set of
rules, a rule $r$ is of the form

$\mathtt{\alpha_{1}\lor\cdots\lor\alpha_{k}\operatorname{:-}\beta_{1},\ldots,\beta_{n},\operatorname{\mathtt{not}}\beta_{n+1},\ldots,\operatorname{\mathtt{not}}\beta_{m}}$
(11)

where $\alpha_{i}$ and $\beta_{i}$ are atoms, called head and body atoms of
$r$, respectively. We say that $H(r)=\\{\alpha_{1},\ldots,\alpha_{k}\\}$ is
the _head_ of $r$, and $B^{+}(r)=\\{\beta_{1},\ldots,\beta_{n}\\}$,
respectively $B^{-}(r)=\\{\beta_{n+1},\ldots,\beta_{m}\\}$ are the positive,
respectively negative _body_ of $r$. We call a rule a _fact_ if $m\,{=}\,0$,
_disjunctive_ if $k\,{>}\,1$, and a _constraint_ if $k\,{=}\,0$. Atoms can
contain constants, variables, and function terms, and a program must allow for
a finite instantiation. Semantics of an ASP program $P$ is defined based on
the ground instantiation $\mathrm{grnd}(P)$ and Herbrand base ${\it
H\\!B}_{P}$ of $P$: an interpretation $I\,{\in}\,{\it H\\!B}_{P}$ satisfies a
rule $r$ iff $H(r)\,{\cap}\,I\,{\neq}\,\emptyset$ or
$B^{+}(r)\,{\not\subseteq}\,I$ or $B^{-}(r)\,{\cap}\,I\,{\neq}\,\emptyset$;
$I$ is a model of $P$ if it satisfies all rules in $P$. The reduct $P^{I}$ of
$P$ wrt. $I$ is the set of rules
$P^{I}\,{=}\,\\{H(r)\operatorname{:-}B^{+}(r)\,{\mid}\,B^{-}(r)\,{\cap}\,I\,{=}\,\emptyset\\}$
and an interpretation $I$ is an answer set iff it is a $\subseteq$-minimal
model of $P^{I}$. Details of syntactic restrictions, additional syntactic
elements, and semantics of ASP are described in the ASP-Core-2 standard [3].

Syntax
---
Check
Is $P_{U}$
---
parseable?
Vocabulary
---
Check
Vocabulary
---
discrepancy?
Semantic Check
---
ASP Solver $AS(P_{U})$
---
$\stackrel{{\scriptstyle?}}{{=}}$
$AS(P_{R})$
Student Input $P_{U}$Reference Solution $P_{R}$yesnoSyntactic HintVocabulary
HintSemantic HintOKnoyes$\neq$$=$

Figure 2: High level architecture for ASP Hint Giving Framework.

##  3 Hint Giving Framework

While writing programs students are making different kind of mistakes. Our
methodology for giving hints is shown in Figure 2. The input consists of the
student’s answer program $P_{U}$ and the reference solution $P_{R}$, where we
assume that all parts of the example are combined into a single program.
Analyzing the input and giving hints is based on three phases which address
different kinds of mistakes.

In the first phase, we consider syntactical errors. If program is syntax-error
free, we check if the student used the vocabulary we expected. In the third
phase we evaluate the program, compare it with an evaluation of the reference
program, and check if the output of both programs is the same.

In each step, we potentially find a mistake, produce a hint for the student,
and abort processing at that step.

We abort processing at the first phase where we find an error, because each
phase requires the previous one to complete. For example, is impossible to
perform analysis of rules if the rules cannot be parsed, i.e., are
syntactically incorrect.

##  4 Classification of Mistakes and Corresponding Hints

We next give details about each of the three phases.

###  4.1 Syntactical Check

In this phase we are checking for syntax errors in the input program. A
standard ASP parser will detect syntax errors and according to the error we
will give a hint. For example the ASP grounder Gringogives the following error
when parsing 5.

$\displaystyle\mathtt{{-}:3:8{-}9:syntaxerror,unexpected<EOF>}$

This indicates the location of the mistake in the source code (line $3$,
characters $8{-}9$) and allows us to display the error with additional visual
support to the student, for example as the following hint.

$\displaystyle\begin{array}[]{@{}l@{}}\mathbf{Hint:}\\\
\mathtt{open\\_road(X,Y)\ \operatorname{:-}\ road(X,Y),\ not\ blocked(X,Y)}\\\
\mathtt{\hskip 220.00034pt\uparrow}\\\ \text{Syntax error, unexpected
$<$EOF$>$.}\\\ \text{Remember that rules are of the form}\\\
\quad\mathtt{atom\ \operatorname{:-}\ atom,\ not\ atom.}\\\ \text{and atoms
are of the form}\\\ \quad\mathtt{predicate}\\\ \text{or }\\\
\quad\mathtt{predicate(arg1,arg2)}\\\ \text{or similar.}\end{array}$

If student’s answer passes these two checks, third step is semantical check.
In this phase we already have program which is free of syntax errors and
passes preprocessing check. This time we will analyse user’s answer set and
compare it with answer set that is correct (e.g. key answer set) and give
feedback according to this.

###  4.2 Vocabulary Check

In this phase we parse the student’s input program and check if the expected
predicates with expected arities and the expected constants are used. We
formalize this mathematically.

Given a set of atoms
$A\,{=}\,\\{p_{1}(t_{1},\ldots,t_{k_{1}}),\ldots,p_{m}(t_{1},\ldots,t_{k_{m}})\\}$
we define function $\mathit{preds}(A)$ which returns the set of predicates in
$A$, the function $\mathit{predarities}(A)$ which returns a set of tuples of
predicates with their arity as occuring in $A$, and the function
$\mathit{constants}(A)$ which returns the constants used in $A$.

$\displaystyle\mathit{preds}(A)\,{=}\,$ $\displaystyle\\{{p}$
$\displaystyle\,{\mid}\,$ $\displaystyle p(t_{1},\ldots,t_{k})\,{\in}\,A\\}$
(12) $\displaystyle\quad\mathit{predarities}(A)\,{=}\,$
$\displaystyle\\{{(p,k)}$ $\displaystyle\,{\mid}\,$ $\displaystyle
p(t_{1},\ldots,t_{k})\,{\in}\,A\\}$ (13)
$\displaystyle\mathit{constants}(A)\,{=}\,$ $\displaystyle\\{{t_{i}}$
$\displaystyle\,{\mid}\,$ $\displaystyle p(t_{1},\ldots,t_{k})\,{\in}\,A,\
1\,{\leq}\,i\,{\leq}\,k,\text{and }t_{i}\text{ is a constant term}\\}.$ (14)

For example given the set of atoms

$\displaystyle A\,{=}\,$
$\displaystyle\\{\mathtt{road(X,Y)},\mathtt{road(X)},\mathtt{blocked(x,y)}\\}$
we obtain $\displaystyle\mathit{preds}(A)\,{=}\,$
$\displaystyle\\{\mathtt{road},\mathtt{blocked}\\},$
$\displaystyle\mathit{predarities}(A)\,{=}\,$
$\displaystyle\\{(\mathtt{road},1),(\mathtt{road},2),(\mathtt{blocked},2)\\},\text{
and}$ $\displaystyle\mathit{constants}(A)\,{=}\,$
$\displaystyle\\{\mathtt{x},\mathtt{y}\\}.$

We next define functions for obtaining information about predicates and their
arities in heads and bodies of rules and programs.

$\displaystyle\mathit{bpreds}(r)\,{=}\,$
$\displaystyle\mathit{preds}(B^{+}(r)\,{\cup}\,B^{-}(r))$
$\displaystyle\mathit{hpreds}(r)\,{=}\,$ $\displaystyle\mathit{preds}(H(r))$
$\displaystyle\mathit{bpredarities}(r)\,{=}\,$
$\displaystyle\mathit{predarities}(B^{+}(r)\,{\cup}\,B^{-}(r))$
$\displaystyle\mathit{hpredarities}(r)\,{=}\,$
$\displaystyle\mathit{predarities}(H(r))$ where $r$ is a rule of form (11),
moreover $\displaystyle\mathit{bpreds}(P)\,{=}\,$
$\displaystyle\bigcup_{r\,{\in}\,P}\mathit{bpreds}(r)$
$\displaystyle\mathit{hpreds}(P)\,{=}\,$
$\displaystyle\bigcup_{r\,{\in}\,P}\mathit{hpreds}(r)$
$\displaystyle\mathit{bpredarities}(P)\,{=}\,$
$\displaystyle\bigcup_{r\,{\in}\,P}\mathit{bpredarities}(r)$
$\displaystyle\mathit{hpredarities}(P)\,{=}\,$
$\displaystyle\bigcup_{r\,{\in}\,P}\mathit{hpredarities}(r)$
$\displaystyle\mathit{preds}(P)\,{=}\,$
$\displaystyle\mathit{bpreds}(P)\,{\cup}\,\mathit{hpreds}(P)$
$\displaystyle\mathit{predarities}(P)\,{=}\,$
$\displaystyle\mathit{bpredarities}(P)\,{\cup}\,\mathit{hpredarities}(P)$

where $P$ is a program — a set of rules of form (11).

For example given rule (7) we would have

$\displaystyle\mathit{bpreds}(\eqref{preprocessing_err_1})\,{=}\,$
$\displaystyle\\{\mathtt{road},\mathtt{blocked}\\}$
$\displaystyle\mathit{hpreds}(\eqref{preprocessing_err_1})\,{=}\,$
$\displaystyle\\{\mathtt{open\\_road}\\}$
$\displaystyle\mathit{bpredarities}(\eqref{preprocessing_err_1})\,{=}\,$
$\displaystyle\\{(\mathtt{road},2),(\mathtt{blocked},2)\\}$
$\displaystyle\mathit{hpredarities}(\eqref{preprocessing_err_1})\,{=}\,$
$\displaystyle\\{(\mathtt{open\\_road},2)\\}$

Given a reference solution $P_{R}$ and student input $P_{U}$ we can use the
above definitions to give hints without revewaling $P_{R}$.

We next use these definitions to compute what is unexpected in a student’s
program compared with the expected solution.

Usage of additional predicates.  We can detect if the student uses additional
predicates that are not in the reference implementation by computing

$\displaystyle\mathit{wrongpred}(P_{U},P_{R})=\mathit{preds}(P_{U})\setminus\mathit{preds}(P_{R}).$

For example if
$P_{R}=\eqref{eqExGiven}\cup\eqref{eqSymmetry}\cup\eqref{eqExpected}$ and
$P_{U}=\eqref{eqExGiven}\cup\eqref{eqSymmetry}\cup\eqref{preprocessing_err_1}$
then we obtain $\mathit{wrongpred}(P_{U},P_{R})=\\{\mathtt{obstacle}\\}$. This
allows us to easily produce the following hint.

> Hint: Predicate $\mathtt{obstacle}$ should not be used.

Note that the hint does not reveal the sample solution.

Usage of predicates with wrong arity.  We can detect if the student uses a
predicate with the wrong arity by computing

$\displaystyle\mathit{wrongarity}(P_{U},P_{R})=\mathit{predarities}(P_{U})\setminus\mathit{predarities}(P_{R}).$

For example with
$P_{U}=\eqref{eqExGiven}\cup\eqref{eqSymmetry}\cup\eqref{preprocessing_err_2}$
we obtain $\mathit{wrongarity}(P_{U},P_{R})=\\{(\mathtt{road},1)\\}$ and we
can give the following hint accordingly.

> Hint: Predicate $\mathtt{road}$ was used with arity $1$ which is unexpected.

Note that if the student is unable to correct the problem after this hint, the
next hint can reveal that the arity of $\mathtt{road}$ in the sample solution
is $2$, without revealing the full solution.

Usage of unexpected constants.  We can detect if the student uses unexpected
constants by computing

$\displaystyle\mathit{wrongcons}(P_{U},P_{R})=\mathit{constants}(P_{U})\setminus\mathit{constants}(P_{R}).$

For example with
$P_{U}=\eqref{eqExGiven}\cup\eqref{eqSymmetry}\cup\eqref{preprocessing_err_3}$
we obtain $\mathit{wrongcons}(P_{U},P_{R})=\\{\mathtt{x},\mathtt{y}\\}$ and we
can give the following hint accordingly.

> Hint: The program contains the following unexpected constants which are not
> required in the solution: $\mathtt{x}$, $\mathtt{y}$.

Note that this also shows if the student has accidentally used constants
instead of variables as in (9).

Further Hints.  Using $\mathit{bpreds}$, $\mathit{hpreds}$,
$\mathit{bpredarities}$, and $\mathit{hpredarities}$, further hints that are
more specific, can be produced, for example that a certain predicate should be
used in the body of a rule in the solution.

All hints produced by this method are not revealing the solution, they are
just helping students to find out their mistakes based on the vocabulary used
in the program. Students should find out what to do in order to fix this
mistake. When all sets are checked we can say that user’s program is correct
with respect to the expected vocabulary (which includes arities of
predicates).

###  4.3 Semantical Check

The final phase is semantic verification: we evaluate the student’s program
and the reference solution using an ASP solver and verify if the results are
the same.

If an answer set of student program includes extra or missing entities, the
student program fails the check in this phase.

For example the answer 10 works correctly only for obstacles between Düzce and
Bolu, but not between Düzce and Zonguldak. Given $P_{R}$ as above and
$P_{U}=\eqref{eqExGiven}\cup\eqref{eqSymmetry}\cup\eqref{semantic_err_1}$ we
obtain one answer set $I_{R}\,{\in}\,AS(P_{R})$ and one answer set
$I_{U}\,{\in}\,AS(P_{U})$ such that $I_{R}\setminus I_{U}=\emptyset$ because
the student’s solution reproduces all atoms that are true in the reference
solution, moreover $I_{U}\setminus
I_{R}=\\{\mathtt{open\\_road(duzce,zonguldak)},\allowbreak\mathtt{open\\_road(zonguldak,duzce)}\\}$
because the student’s solution additionally produces true atoms that should
not be true.

The student program shows these blocked roads as open which is the mistake. By
computing the difference between answer sets we can give different levels of
hints to the student, for example the following generic hint.

> Hint: The answer set contains more true atoms than it should.

If the student is not able to fix the problem, we can also mention the
predicate.

> Hint: The answer set contains more true atoms of predicate
> $\mathtt{open\\_road}$ than it should.

If even this does not help, we can concretely say which true atom should not
be true.

> Hint: The answer set contains true atoms which should be false:
> $\mathtt{open\\_road(duzce,zonguldak)}$ and
> $\mathtt{open\\_road(zonguldak,duzce)}$.

Again, these hints do not give solutions, they guide the user to finding the
problematic part of the solution.

##  5 Related Work

To the best of our knowledge there is no related work focused on tools for
teaching Answer Set Programming. Programming Assignment Feedback System (PABS)
automatically generates feedback for programming assignments in imperative
languages based on impothe Java Virtual Machine, however their feedback is
based on plagiarism and failed unit tests while our work gives detailed
feedback within single unit tests with additional constraint that we do not
reveal the solution [7].

A systematic approach on teaching Prolog based on a student model that takes
into account experience from earlier courses on imperative programming is
presented in [13]. Misconceptions are separated in categories and different
examples are given for each category to facilitate in-depth understanding. We
use a similar approach to group mistakes and prepare hints, however our work
is on ASP which is more declarative than Prolog. A didactic teaching and
learning model for programming is presented in [8]. Our work can be seen as a
teaching model for ASP.

Several approaches for _debugging answer set programs_ exist, and these
approaches could be integrated into a teaching methodology. Early work on this
topic was limited to ground programs and to explaining why an atom is
present/absend in an answer set [2] using a procedural algorithm, and later a
more general explanation was achieved in ground programs using declarative
methods similar to diagnosis [14]. Pointing out reasons for a nonground ASP
program to not have a certain answer set (unsatisfied rules, violated
constraints, unsupported atoms, and unfounded loops) was developed in [6],
refined in [11], and later extended to choice rules, cardinality, and weight
constraints [12]. These debugging methods can be used to realize a richer
semantic check in our framework.

##  6 Conclusion

We have introduced a method for automatically giving hints about Answer Set
Programming exercises, with the important property that the hints do not
reveal solutions, but guide the student in finding the solution.

Today methods from computer science are used in many different areas and
therefore it is an increasingly popular field of study. Consequently, more
students are trained in basic methods of computer science and programming.
These students need to solve practical programming assignments as part of
their education. Feedback can help students to stay motivated and assess their
progress, but giving manual feedback is a very time consuming task. Especially
in large courses with beginners it is not practical due to staff limitations.
As a result it is desirable to automatically generate feedback whenever
possible, so that students can solve the easy problems with the help of the
computer and only require human assistance for more difficult problems.

Regarding future work, our syntactic check (Section 4.1) is based on existing
ASP parsers, and we augment the error message with helpful information. An
interesting future work would be to create a parser that can suggest
corrections or produces more detailed analyses of the parser mistake.

## References

  * AMS [16] Gokhan Avci, Mustafa Mehuljic, and Peter Schüller.  Çözümü Açığa Çıkarmadan Mantiksal Programlama Örneklerine İpucu Verme (Giving Hints For Logic Programming Examples Without Revealing Solutions).  In Signal Processing and Communication Application Conference (SIU) (Sinyal İşleme ve İletişim Uygulamaları Kurultayı), pages 513–516. IEEE, 2016.
  * BD [05] Martin Brain and Marina De Vos.  Debugging logic programs under the answer set semantics.  In International Workshop on Answer Set Programming, volume 142, pages 141–152. CEUR-WS.org, 2005.
  * CFG+ [12] Francesco Calimeri, Wolfgang Faber, Martin Gebser, Giovambattista Ianni, Roland Kaminski, Thomas Krennwallner, Nicola Leone, Francesco Ricca, and Torsten Schaub.  ASP-Core-2 Input language format.  Technical report, ASP Standardization Working Group, 2012.
  * GKKS [12] Martin Gebser, Roland Kaminski, Benjamin Kaufmann, and Torsten Schaub.  Answer Set Solving in Practice.  Morgan Claypool, 2012.
  * GL [88] Michael Gelfond and Vladimir Lifschitz.  The Stable Model Semantics for Logic Programming.  In ICLP/SLP, pages 1070–1080, 1988.
  * GPST [08] Martin Gebser, Jörg Pührer, Torsten Schaub, and Hans Tompits.  A meta-programming technique for debugging answer-set programs.  In AAAI Conference on Artificial Intelligence, pages 448–453, 2008\.
  * IDBI [15] Lukas Iffländer, Alexander Dallmann, Philip-Daniel Beck, and Marianus Ifland.  PABS - a Programming Assignment Feedback System.  In Workshop "Automatische Bewertung von Programmieraufgaben" (ABP), pages 1–8, 2015.
  * Kaa [98] Jj Kaasbøll.  Exploring didactic models for programming.  In Norwegian Computer Science Conference (NIK), pages 195–203, 1998\.
  * KOPT [13] Christian Kloimüllner, Johannes Oetsch, Joerg Puehrer, and Hans Tompits.  Kara: A System for Visualising and Visual Editing of Interpretations for Answer-Set Programs.  In INAP, pages 325–344, 2013.
  * Lif [08] Vladimir Lifschitz.  What is Answer Set Programming?  In AAAI Conference on Artificial Intelligence, pages 1594–1597, 2008.
  * OPT [10] Johannes Oetsch, Jörg Pührer, and Hans Tompits.  Catching the Ouroboros: On Debugging Non-ground Answer-Set Programs.  Theory and Practice of Logic Programming, 10(4-6):513–529, 2010\.
  * PFSF [13] Axel Polleres, Melanie Frühstück, Gottfried Schenner, and Gerhard Friedrich.  Debugging non-ground ASP programs with choice rules, cardinality and weight constraints.  In International Conference on Logic Programming and Non-monotonic Reasoning (LPNMR), volume 8148 LNAI, pages 452–464, 2013.
  * SK [07] Demosthenes Stamatis and Petros Kefalas.  Logic Programming Didactics.  In Informatics Education Europe II Conference (IEEII), pages 136–144, 2007.
  * Syr [06] Tommi Syrjänen.  Debugging Inconsistent Answer Set Programs.  In International Workshop on Non-Monotonic Reasoning (NMR), pages 77—-84, 2006.


# Of Light and Shadows:
Raychaudhuri’s equation, the Big Bang and Black Holes

Joseph Samuel  Raman Research Institute, Bangalore-560080, India
International Center for theoretical Sciences,
Tata Institute of Fundamental Research, Bangalore-560089, India

(email<EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

Einstein’s genius and penetrating physical intuition led to the general theory
of relativity, which incorporates gravity into the geometry of spacetime.
However, the theory of general relativity leads to perspectives which go far
beyond the vision of its creator. Many of these insights came to light only
after Einstein’s death in 1955. These developments were due to a new breed of
relativists, like Penrose, Hawking and Geroch, who approached the subject with
a higher degree of mathematical sophistication than earlier workers. Some of
these insights were made possible because of work by Amal Kumar Raychaudhuri
(AKR) who derived an equation which turned out to be a key ingredient in the
singularity theorems of general relativity. This article explains AKR’s work
in elementary terms.

##  I Introduction

Amal Kumar Raychaudhuri (AKR, 1923-2005) was working at the Indian Association
for Cultivation of Science (IACS), in Kolkata, when he wrote one of the finest
scientific papersRaychaudhuri (1955) to have ever come out of India. The paper
derived an equation which was the seed of many profound developments in the
theory of general relativity. Indeed it may be said that it started a new
phase in the development of the subject–mathematical relativity.

The purpose of this article is to explain, in a pedagogical manner, the import
of this equation and outline some of the developments it led to. This is a
non-technical exposition, intended for a reader who is familiar with Newtonian
physics, and special relativity but has not yet been exposed to the general
theory of relativity (GTR). For a more complete picture see Kar and Sengupta
(2007); Kar (2008). We will first give a simple derivation of Raychaudhuri’s
equation in the context of Newtonian gravity. This captures some of the
essential physics of the equation. We will then indicate how Einstein’s
gravity differs from Newtonian gravity and write down the actual Raychaudhuri
equation, the relativistic version. Further generalisation and development of
this idea by others led to the Singularity theorems, which we will touch upon
towards the end. This material is more advanced and placed in a Box with a
statutory warning.

##  II The Newtonian Raychaudhuri Equation

Let us consider the motion of a fluid in Newtonian physics, assuming that the
flow is subject only to the force of gravity. (No pressure, for instance.) If
the velocity of the fluid at a position ${\bf x}$ is ${\bf v}({\bf x},t)$, the
rate of change of any quantity $f({\bf x},t)$ is described by the convective
derivative

$\frac{df}{dt}=\frac{\partial f}{\partial t}+{\bf{v}}.{\bf{\nabla}}f$ (1)

We will use repeated index notation, writing $\bf{v}.\bf{\nabla}$ as
$v^{i}\partial_{i}$, where it is understood that the index $i$ is summed over
its three values $i=1,2,3$. The divergence
$\theta={\bf{\nabla}}.{\bf{v}}=\partial_{i}v^{i}$ of the velocity field
represents the expansion rate of the fluid. $\theta$ is the rate at which the
volume of a fixed ball of fluid is increasing. The evolution of $\theta$ along
the flow was the principal objective of AKR’s studies. Let us compute the rate
of change of $\theta$ along the flow. Applying the convective derivative to
$\theta$, we find

$\frac{d\theta}{dt}=\frac{\partial}{\partial
t}(\partial_{i}v^{i})+v^{j}\partial_{j}(\partial_{i}v^{i}).$ (2)

Since partial derivatives commute, we have

$\frac{d\theta}{dt}=\partial_{i}\partial_{t}v^{i}+v^{j}\partial_{i}\partial_{j}v^{i}$
(3)

which can be rearranged to read

$\frac{d\theta}{dt}=\partial_{i}(\partial_{t}v^{i}+v^{j}\partial_{j}v^{j})-(\partial_{i}v^{j})(\partial_{j}v^{i})\\\
=\partial_{i}{\Bigg{[}}\frac{dv^{i}}{dt}{\Bigg{]}}-(\partial_{i}v^{j})(\partial_{j}v^{i})$
(4)

The term in square brackets is simply the acceleration of the fluid, which by
Newton’s Law is given by $-\partial^{i}\phi$, where $\phi$ is the Newtonian
potential. The term $\partial_{i}v_{j}$ can be decomposed into its symmetric
$\gamma_{ij}=(\partial_{i}v_{j}+\partial_{j}v_{i})/2$ and antisymmetric
$\omega_{ij}=(\partial_{i}v_{j}-\partial_{j}v_{i})/2$ parts. $\omega_{ij}$ is
evidently the angular velocity of rotation of the fluid. $\gamma_{ij}$ is the
strain rate. Strain is a quantity familiar from the theory of elasticity.
$\gamma_{ij}$ tells us the rate of change of shape of an imaginary sphere of
fluid, which we colour red as an aid to imagination. $\gamma_{ij}$ can be
further decomposed into a trace free part
$\sigma_{ij}=\gamma_{ij}-\theta\delta_{ij}/3$, called shear rate, which
changes the shape but not the volume, and the expansion rate
$\theta=\gamma_{i}^{i}$, which changes only the volume. (We use indices which
are superscripts and subscripts to anticipate similar conventions in
relativity. In this part there is no difference as the indices are raised and
lowered by $\delta_{ij}$.)

The first term in (4), becomes $-\partial_{i}\partial^{i}\phi$ and can be
written using Poisson’s equation for the gravitational potential as $-4\pi
G\rho$, where $G$ is Newton’s gravitational constant and $\rho$ is the density
of matter. We also write $\sigma_{ij}\sigma^{ij}$ as $\sigma^{2}$ and
$\omega_{ij}\omega^{ij}$ as $\omega^{2}$. Putting it all together, we arrive
at the Newtonian version of Raychaudhuri’s equation Ellis and van Elst (1998)
which reads

$\frac{d\theta}{dt}=-4\pi G\rho-\theta^{2}/3-\sigma^{2}+\omega^{2}$ (5)

Since the density of matter is positive, all the terms on the right (except
the last one) are negative. This tells us that in a nonrotating fluid, the
expansion rate is always decreasing. An initially expanding ball of fluid,
will expand at a slower rate and a contracting ball will contract even faster.
This is an expression of the attractive nature of gravity. Note that the
rotation is the only term that counteracts the attractive effect of gravity.
This is intuitively clear, rotation gives a centrifugal force that resists the
attraction of gravity. This is what causes the equatorial bulge of the Earth
and keeps the planets from falling into the Sun. Another force that
counteracts gravity (which we have not included in the simple picture above)
is outward pressure. This is what keeps the Sun from falling into itself.

##  III Einstein’s Relativistic Theory of Gravitation

In 1905, Einstein proposed the special theory of relativity, which
revolutionised our notion of time. An essential feature of this theory is the
melding of space and time into a single entity called spacetime. It resolved
some earlier apparent conflicts between electromagnetism and Newtonian ideas
of space and time. It gave a special role to the fundamental constant $c$, the
speed of light. It predicted that mass and energy could be transmuted into
each other and were therefore essentially the same thing. Every prediction
made by the theory has since been verified and the topic is now undergraduate
physics material.

Around 1907, Hermann Minkowski gave the special theory of relativity a new
formulation in terms of four dimensional geometry. This reformulation was
initially rejected by Einstein as mere window dressing. However, by 1912, he
came to appreciate the elegance and power of Minkowski’s ideas and used it to
incorporate the effects of gravitation within the theory of relativity. By
1915 he had formulated the general theory of relativity. In this theory, every
small region of spacetime can be regarded by a freely falling observer as
being flat and devoid of gravity, being described adequately by the special
theory of relativity. However the flatness is only apparent and local. The
effects of gravity are only manifest on larger scales, in gradients of
gravitational fields or second derivatives of the Newtonian gravitational
potential. It is these second derivatives that contain information about the
curvature of spacetime.

It is useful to make an analogy with the curvature of the Earth. In an
approximate sense, the Earth can be regarded as flat, since most of us only
explore a tiny fraction of its surface in a day’s work. This fact along with
the echo chamber provided by the instant connectivity of the internet has led
to a thriving community of ‘Flat Earthers’ who actually believe that the Earth
is flat. There are now ‘Flat Earthers’ distributed all over the globe! (Read
that again, slowly!) Each of these Flat Earthers approximates the surface of
the Earth by a tangent plane at his location. However, the tangent plane at
Sydney is different from the tangent plane in Cairo: they do not mesh together
to form a single plane. The curvature of the Earth is captured in the
variation of the tangent planes and revealed by simple experiments that
explore a large enough fraction of the Earth’s surface–like international
travel or watching ships sail over the horizon.

In Einstein’s general theory of relativity, freely falling observers (FFOs)
can (to a good approximation) pretend that their spacetime is flat and
described by special relativity. As in the example of the Earth, these
separate flat spacetimes of different FFOs do not mesh together to form a
single flat spacetime. Spacetime is curved by gravity. The theory is simple
and elegant in concept, though it does involve some higher mathematics like
tensor algebra and differential geometry. The Newtonian potential is replaced
by ten functions $g_{\mu\nu}$, the metric describing the geometry of
spacetime. The source of gravitation is not just matter, but also matter
currents, and stresses. The theory reduces to Newton’s theory for weak fields
and slow motions.

In Minkowski spacetime (which is flat and devoid of gravity), particles follow
straight lines. Massive particles have speeds less than that of light
(following timelike curves) and massless ones have speed $c$, (following null
curves). In Einsteinian spacetime particles follow geodesics, which are curves
which appear locally straight to FFOs. Just as great circles on a spherical
Earth will appear locally straight to Flat Earthers. A more precise definition
of (timelike) geodesics is that they are curves which extremise the length
between their endpoints. Null geodesics also obey an extremum principle:
Fermat’s principle.

##  IV The Relativistic Raychaudhuri Equation

Just after Einstein died in April 1955, AKR’s paper appeared in the Physical
Review, containing an early form of the Raychaudhuri equation and the first
ever singularity theorem. This started a new phase in general relativity. This
equation was the basis of all the singularity theorems that were to follow in
the coming years.

Einstein’s general theory gives us a framework for the study of cosmology, the
dynamics of the Universe. In the early 1950s AKR was working on cosmology as a
researcher at the IACS, Kolkata. The Friedman-Lemaitre-Roberston-Walker models
described the Universe as homogeneous and isotropic on the cosmological scale.
The ‘cosmic fluid’ has galaxies as its point particles. Einstein’s theory
admitted an expanding Universe, consistent with Hubble’s observations of the
recession of distant galaxies. The Universe had a beginning a finite time in
the past. The main problem with these models, was that the curvature grew
without bound as one approached the beginning of the Universe, a feature that
mathematicians describe as a singularity. This was disturbing to many
physicists including Einstein, since it meant that our physical laws would no
longer apply.

There were some who believed that the singularity was an artefact of the high
degree of symmetry (homogeneity and isotropy) of the solution. It was felt
that a slight perturbation of these models would remove the singularity and
the associated physical problem. It was in this context that AKR derived his
equation. The equation reads

$\frac{d\theta}{d\tau}=-8\pi
G(T_{\mu\nu}-\frac{1}{2}Tg_{\mu\nu})t^{\mu}t^{\nu}-\theta^{2}/3-\sigma^{2}+\omega^{2},$
(6)

where $T_{\mu\nu}$ is the stress-Energy tensor, $T$ its trace, $t$ is the
four-vector tangent to the world-line of the galaxy and $g_{\mu\nu}$ is the
metric tensor, which describes the geometry of spacetime. A comparison of this
equation with (5) shows some similarities and some differences. The similarity
is due to the fact that they capture the same physical effect: the tendency of
gravity to bring matter together. The differences arise because this is a
relativistic equation. First the Newtonian time $t$ is replaced by $\tau$, the
proper time of an observer freely falling with the cosmic fluid. Second, the
source of gravity is not just a scalar $\rho$, the matter density, but a
tensor $T_{\mu\nu}$ which has components corresponding to matter density as
well as momentum density and pressure (which is a stress).

The beauty of this equation (6) is that it is independent of any symmetry
considerations. It is also general in that it allows all forms of matter. The
consequences of this equation follow from requiring only that the matter
satisfies a positivity condition.

$(T_{\mu\nu}-\frac{1}{2}Tg_{\mu\nu})t^{\mu}t^{\nu}\geq 0$ (7)

for all timelike $t^{\mu}$. This condition is met by all known forms of
classical matter, and is called the strong energy condition. In the absence of
rotation ($\omega=0$), it leads to the inequality

$\frac{d\theta}{d\tau}\leq-\theta^{2}/3$ (8)

which can be rearranged to read

$\frac{d(\theta)^{-1}}{d\tau}\geq 1/3.$ (9)

An expanding Universe can be regarded in time reverse as contracting. Thus,
the problems of gravitational collapse to black holes and the big bang origin
of the expanding Universe are two sides of the same coin; they are related by
time reversal. The only difference is that the singularity is in the future
for black holes and in the past for the big bang. These singularities are
places where spacetime begins or ends Hawking and Ellis (1975).

An initially contracting Universe has $\theta^{-1}$ tending to zero from
negative values and $\theta$ diverges to negative infinity in a finite amount
of proper time. This results in a divergence of the density of matter at the
big bang, a physical singularity. Giving up the high degree of symmetry of
cosmological models does not save us from the singularity. This was the main
conclusion of AKR’s landmark paper.

##  V The Sachs equation

A similar equation describing the motion of light in a gravitational field was
derived by R. SachsSachs (1961). We can think of light as consisting of
photons and apply the logic of the last section to a fluid whose particles are
photons rather than galaxies. In relativity, light travels along null
geodesics rather than the timelike geodesics of massive particles. This
results in some changes. Sachs’ equation for the expansion of the fluid reads

$\frac{d\theta}{d\lambda}=-8\pi
GT_{\mu\nu}l^{\mu}l^{\nu}-\theta^{2}/2-\sigma^{2}+\omega^{2}.$ (10)

The differences are

  1. 1.

The tangent vector to the fluid flow is now written as $l$ since it is null.

  2. 2.

The negative matter term on the right has a simpler form.

  3. 3.

Since the proper time along a null geodesic vanishes, $\tau$ is replaced by
$\lambda$, which is called an affine parameter.

  4. 4.

There are 3 dimensions transverse to the tangent vector $l$. But since $l$ is
transverse to itself, there are effectively only two transverse dimensions,
resulting in $\theta^{2}/2$ on the right hand side. This is similar to the
idea that a massive spin one particle has three degrees of freedom, while the
massless spin one photon has only two.

Figure 1: Rotation, shear and expansion: From left to right; an object placed
in the path of a light beam casts a shadow which may be rotated,sheared or
expanded

A simple thought experiment serves to bring out the physical interpretation of
rotation, shear and expansion. Imagine placing an object such as the red one
shown in Fig. 1, in the path of a light beam and transverse to the direction
of propagation. This object will cast a shadow on a transverse screen placed
further along the ray. The shadow may be rotated, sheared or expanded. These
ideas led to a description of spacetimes in terms of optical scalars in the
Newman-Penrose formalism. Optical scalars are a set of complex numbers which
describe the distortion of light beams in a gravitational field. They are now
widely used in numerical relativity and the study of gravitational waves.

##  VI Box 1: Singularity Theorems

Statutory warning: more advanced material, presented impressionistically,
refer to Wald (1984); Hawking and Ellis (1975) for better explanations.

A serious problem with discussing singularities in general relativity is the
very definition of one. One can always excise singular points from a spacetime
and present it as non–singular. (For instance, a cone is singular at its tip,
but one can simply snip off the tip and claim it is nonsingular.) This will
however result in incomplete geodesics: a particle (or photon) following a
geodesic may disappear in a finite time (or affine parameter). If the
spacetime cannot be extended to remove this unphysical behaviour we describe
the spacetime as singular. The singularity theorems seek to prove the
existence of incomplete geodesics i.e that spacetime has an edge. The work of
Penrose, Hawking and Geroch on singularity theorems in the 1960s and 1970s
uses global differential geometry and topology to prove precisely stated
theorems, which are far beyond the scope of this article. We will give a
flavour of an argument due to Penrose which deals with gravitational collapse.
Cosmological Singularities in the past can be dealt with by time reversal, as
discussed earlier.

In 1965, Penrose wrote a paper introducing the notion of a trapped surface.
Penrose’s contributionPenrose (1965) was recognised by the Physics Nobel Prize
Bagla (2020); Samuel (2020) for 2020. If we emit a flash of light from a
closed two dimensional surface ${\cal S}$, there is an expanding out-going
flash and a contracting in-going flash (or wavefront). In strong gravitational
fields (like inside the event horizon of a Schwarzschild black hole) it can
happen that both these flashes are contracting; the expansion $\theta$ is
negative. Intuitively it is clear that observers in the spacetime region
between the two flashes are trapped between two wavefronts whose area is
decreasing with time. There is no escape for them from this trapped region and
they will meet an untimely end. To prove this mathematically, one has to argue
more formally Penrose (1965); Wald (1984).

Let ${\cal F}$ be the set of all points of spacetime, which can be reached
from ${\cal S}$ by timelike or null curves pointing into the future. One can
show that the boundary of ${\cal F}$ is ruled by null geodesics emerging
orthogonally from ${\cal S}$ which have not focussed. This is because null
geodesics travel at the speed of light and nothing travels faster than light.
However, if two neighbouring geodesics focus, they leave the boundary of
${\cal F}$ and enter into the interior of ${\cal F}$. The null curve described
by traversing one geodesic to the focus and jumping to the other geodesic, is
not a geodesic but a broken geodesic. (Just as a broken straight line is not a
straight line.) A broken null geodesic represents light which changes
direction (say it bounces off a mirror) and whose endpoints can be connected
by a timelike curve. We know from Raychaudhuri’s equation that all the null
geodesics emanating from ${\cal S}$ will thus leave the boundary of ${\cal F}$
in a finite amount of affine parameter. This shows that the boundary of ${\cal
F}$ is compact. Let us assume that the spacetime admits a spatial slice
$\Sigma$ that goes out to infinity. We also assume Wald (1984) that there is a
globally nonvanishing timelike past pointing vector field $v$ on spacetime. By
looking at points on the boundary of ${\cal F}$, and tracing them back along
$v$ to $\Sigma$, Penrose was able to establish a continuous correspondence
between a compact space and a non-compact one. This contradiction proves the
result. The result is robust against perturbations (since a small perturbation
of a trapped surface is still trapped) and shows that singularities are
generic.

##  VII Conclusion

Let us note a few points which we glossed over in the main text.

  1. 1.

While all classical known forms of matter (galaxies, neutron stars) satisfy
the strong energy condition, a positive cosmological constant does not. This
leads to a kind of repulsive gravity which results in an accelerated expansion
of the Universe. Astronomers have inferred such accelerations by measuring the
red shifts of dim and distant supernovae. Viewed as a form of matter, the
cosmological constant is referred to as Dark Energy.

  2. 2.

We mentioned the focussing of geodesics as the main consequence of
Raychaudhuri’s equation. Such focussing can happen even in Minkowski
spacetime, resulting in caustics. (You may have seen caustics in a cup of tea
on a bright day.) Caustics are not singularities of the spacetime unless there
is matter following the geodesics (as in Raychaudhuri (1955)).

  3. 3.

Although $\theta$ has the dimension of a rate $1/T$, it is commonly referred
to as expansion although it is really an expansion rate.

  4. 4.

Apart from the equation for the propagation of expansion, there are similar
equations for the propagation of shear and rotation along light rays. Some
authors (e.g Kar (2008); Hawking and Ellis (1975)) talk of Raychaudhuri
equations (plural) to include these as well as Sach’s equation.

  5. 5.

For much of its history, the general theory of relativity (GTR) lay in a
somewhat dormant state. There were some predictions of the theory which were
verified by tests (the “classical tests”) in the solar system. These were very
small corrections to Newton’s theory and soon the dramatic successes of the
quantum theory in laboratory physics overshadowed the miniscule effects
predicted by GTR. The worldwide renaissance of GTR started in the late 1950’s,
driven by both experiment and theory. The discovery of the cosmic microwave
background made cosmology an experimental science. Radio astronomy revealed a
violent Universe and the need for a better understanding of relativistic
astrophysics, black holes and gravitational radiation. The early neglected
work of S. Chandrasekhar (1930s) was recognised for its true worth. Major
events were relativity conferences held in Chapel Hill (1958) and Texas
(1963). Key players in this renaissance were (apart from the names already
mentioned) Herman Bondi, Dennis Sciama and John Wheeler, who guided, inspired
and led the way to bring GTR to grips with the real Universe.

  6. 6.

While AKR, working in near complete isolation, derived his equation in 1953,
there were numerous delays in publication (see below) which resulted in his
paper being published only in 1955. Considering that Penrose’s singularity
theorem appeared only in 1965, this is remarkably prescient.

This article has focussed on the Science behind the Raychaudhuri equation. A
personal account of AKR and his work can be found in Sen (2008); Raychaudhuri
(2007). (The latter is partly in Bengali and partly in English.) An inspiring
account of the history and background of AKR’s work is given in Ref. Majumdar
(2020). Apart from this path breaking work, AKR has published in several areas
of physics, written text books and nurtured generations of students in
Kolkata. He taught students to question all authority, including his own. As a
teacher he was revered by his students and was accorded the high honour of
being initialised as AKR Sen (2008). In closing, we spend a few words on the
circumstances around the publication of the paper Raychaudhuri (1955). The
manuscript was rejected by editors, mislaid or misunderstood by referees and
inordinately delayed before publication, to the great frustration of the
author. As a researcher in IACS, Kolkata, AKR was constantly harassed for
working on his ‘abstruse’ ideas and pressured to work on areas other than
relativity, the subject closest to his heart. The discouragement was severe
and a part of it came from luminaries of Indian science, some of whom did have
the ability, though not the time or inclination, to understand AKR’s work. In
due course AKR left IACS and took up teaching at Presidency college, to the
great benefit of the students there. Despite the discouragement and lack of
appreciation, AKR pressed on with his researches. In a few years, the work was
recognised for its insight by researchers all over the world. Indian
recognition of AKR’s work was slow in coming. Only after his name was well
known in the West did the Indian scientific community wake up to the fact that
we had a deep and original thinker in our midst. Perhaps a sorry reflection of
our colonial past!

The main theoretical impact of the Singularity theorems is that they predict
the demise of general relativity as a fundamental theory. In fundamental
physics, quantum mechanics gives a unitary description of all known
interactions (electromagnetic, weak and strong); the description conserves
information and is reversible. Understanding the irreversible nature of
gravitational collapse and the attendant loss of information is a problem at
the frontierGopakumar and Wadia (2018) of theoretical physics. For an account
of current research on the information paradox, see the article by Raghu
Mahajan in this issue.

Figure 2: Figure shows Penrose’s picture of gravitational collapse. Shown in
black is an initial spatial slice $\Sigma$. Matter (blue) is collapsing under
its gravity. A trapped surface ${\cal S}$ forms and its future ${\cal F}$ has
a boundary consisting of initially ingoing (${\cal B}^{-}$) and outgoing
(${\cal B}^{+}$) null geodesics which have not focussed. Image credit ©Roshni
Rebecca Samuel.

##  VIII Acknowledgements

It is a pleasure to thank Sayan Kar, H.S.Mani, Rajaram Nityananda, Vishwambhar
Pati, N. Sathyamurthy, Parongama Sen, Sukanya Sinha, Supurna Sinha and N.
Sathyamurthy and Spenta Wadia for reading through the manuscript and making
constructive suggestions; and Roshni Rebecca Samuel for her artistic rendering
of Figure 2.

## References

  * Raychaudhuri (1955) A. Raychaudhuri, Phys. Rev. 98, 1123 (1955), URL http://arxiv.iacs.res.in:8080/jspui/handle/10821/7599.
  * Kar and Sengupta (2007) S. Kar and S. Sengupta, Pramana 69, 49 (2007), URL https://www.ias.ac.in/article/fulltext/reso/025/12/1659-1668.
  * Kar (2008) S. Kar, Resonance 13, 319 (2008).
  * Ellis and van Elst (1998) G. Ellis and H. van Elst, Cargese Lectures (1998), URL e-printarXiv:gr-qc/9812046v5.
  * Hawking and Ellis (1975) S. W. Hawking and G. F. R. Ellis, _The Large Scale Structure of Space-Time (Cambridge Monographs on Mathematical Physics)_ (Cambridge University Press, 1975), ISBN 0521099064, URL http://www.amazon.com/Structure-Space-Time-Cambridge-Monographs-Mathematical/dp/0521099064.
  * Sachs (1961) R. Sachs, Proc. R. Soc. Lond. A 264, 309 (1961).
  * Wald (1984) R. M. Wald, _General relativity_ (Chicago Univ. Press, Chicago, IL, 1984), URL https://cds.cern.ch/record/106274.
  * Penrose (1965) R. Penrose, Phys. Rev. Lett. 14, 57 (1965), URL https://link.aps.org/doi/10.1103/PhysRevLett.14.57.
  * Bagla (2020) J. Bagla, Resonance 25, 1659 (2020).
  * Samuel (2020) J. Samuel, Current Science 119, 1598 (2020).
  * Sen (2008) P. Sen, Resonance 13, 1659 (2008).
  * Raychaudhuri (2007) A. Raychaudhuri, _Atmajignasa O Anyanya Rachana_ (Sarat Book Distributors, Kolkata, 2007).
  * Majumdar (2020) P. Majumdar, Science and Culture 86, 342 (2020).
  * Gopakumar and Wadia (2018) R. Gopakumar and S. Wadia, Current Science 114, 1560 (2018).