# A Brief Review on Some Architectures Providing Support for DIFT

Ali Jahanshahi
<EMAIL_ADDRESS>
University of California, Riverside

###### Abstract

Dynamic Information Flow Tracking (DIFT) is a technique to track potential
security vulnerabilities in software and hardware systems at run time. The
last fifteen years have seen a lot of research work on DIFT, including both
hardware-based and software-based implementations for different types of
processor architectures. This survey briefly reviews some hardware
architectures that provide DIFT support. Starting from introducing different
approaches for hardware based DIFT, this survey focuses on integrated/in-core
architectures. Protection schemes, including tagging system, tag propagation,
and tag checking for each architecture will be discussed. The survey is
organized in such a way that it illustrates the evolution of integrated DIFT
architectures, each architecture tries to improve the precious proposed
architectures generality/versatility weaknesses. However, improving security
while providing generality and versatility is kind of trade-offs. This survey
compares the architectures from different aspects to show the trade-offs
clearer.

##  I INTRODUCTION

Buffer overflows and format strings are the most frequently-exploited program
vulnerabilities. These attacks give attackers the ability to change spatially
limited yet important memory locations in the vulnerable program’s memory
space with malicious code and program pointers. By exploiting these
vulnerabilities, a malicious entity will be able to take control of a program
and perform any operation with the privileges of the compromised program.
Although taking control of a single privileged program grants attackers full
access to the system, attacks to hijack any program that has access to
sensitive information is considered a serious security threat. Unfortunately,
protecting programs by preventing the first step of an attack, which is
exploiting program vulnerabilities to modify memory locations, is very
difficult.
There can be as many, if not more, types of exploits as there are program
bugs. Moreover, malicious overwrites cannot be easily identified since
vulnerable programs themselves perform the writes. Conventional access
controls do not work in this case. As a result, protection schemes which
target detection of malicious overwrites have only had limited success. They
block only the specific types of exploits they are designed for or they are
too restrictive and cannot handle some legitimate programs such as dynamically
generated code. To thwart a broad range of security exploits, we can prevent
the final step, namely, the unintended use of I/O inputs.

Figure 1: The three design alternatives for DIFT architectures [5]

Dynamic information flow tracking (DIFT) is a promising technique to detect
security attacks on unmodified binaries ranging from buffer overflows to SQL
injections. The idea behind DIFT is to tag (taint) untrusted data and track
its propagation through the system. DIFT associates a tag with every memory
location with a specific granularity. Any new data derived from untrusted data
is also tainted using the tag bits. If tainted data is used in a potentially
unsafe manner, for instance as a code pointer or as a SQL command, a security
exception is immediately raised.
The generality of the DIFT model has led to the development of several
implementations. To avoid the need for recompilation, most software DIFT
systems use dynamic binary translation, which introduces significant overheads
ranging from 3x to 37x or even more. Additionally, software DIFT does not work
safely with self-modifying and multi-threaded programs.
Hardware DIFT systems have been proposed to address these challenges. They
make DIFT practical for all user or library executables, including
multithreaded and self-modifying code, and even the operating system itself.
As Fig.1 shows, existing DIFT architectures follow three general
approaches[5]; Integrated/In-core architectures (Fig.1.a) provide DIFT support
within the main pipeline. Most of the proposed DIFT systems follow the
integrated approach, which performs tag propagation and checks in the
processor pipeline in parallel with regular instruction execution. This
approach does not require an additional core for DIFT functionality and
introduces no overhead for inter-core coordination. Overall, its performance
impact in terms of clock cycles over native execution is minimal. On the other
hand, the integrated approach requires significant modifications to the
processor core. All pipeline stages must be modified to buffer the tags
associated with pending instructions. The register file and first-level caches
must be extended to store the tags for data and instructions. Alternatively, a
specialized register file or cache that only stores tags and is accessed in
parallel with the regular blocks must be introduced in the processor core.
Overall, the changes to the processor core are significant and can have a
negative impact on design and verification time. Depending on the constraints,
the introduction of DIFT may also affect the clock frequency. The high upfront
cost and inability to amortize the design complexity over multiple processor
designs can deter hardware vendors from adopting this approach.
An alternative approach (Fig.1.b) is to offload DIFT functionality to another
core in a multi-core chip. The application runs on one core, while a second
general-purpose core runs the DIFT analysis on the application trace. The
advantage of the offloading approach is that hardware does not need explicit
knowledge of DIFT tags or policies. It can also support other types of
analyses such as memory profiling and locksets. The core that runs the regular
application and the core that runs the DIFT analysis synchronize only on
system calls. Nevertheless, the cores must be modified to implement this
scheme. The application core is modified to create and compress a trace of the
executed instructions. The core must select the events that trigger tracing,
pack the proper information (PC, register operands, and memory operands), and
compress in hardware. The trace is exchanged using the shared caches (L2 or
L3). The security core must decompress the trace using hardware and expose it
to software. The most significant drawback of the multi-core approach is that
it requires a full general-purpose core for DIFT analysis. Hence, it halves
the number of available cores for other programs and doubles the energy
consumption due to the application under analysis. The cost of the
modifications to each core is also non-trivial, especially for multi-core
chips with simple cores.
Compared to the multi-core DIFT approach, using a co-processor (Fig.1.C)
eliminates the need for a second core for DIFT and does not require changes to
the processor and cache hierarchy for trace exchange. The co-processor
eliminates the need for any changes to the design, pipeline, or layout of the
main core. Hence, there is no impact on design, verification or clock
frequency of the main core. Coarse-grained synchronization enables full
decoupling between the main core and the co-processor.
In this survey, we focus on integrated/in-core architectures. [1] proposes and
implementation of DIFT on a real processor, [2] tries to improve some problems
of [1]. [3] extends RISC-V processor cores to support hardware dynamic
information flow tracking (DIFT). This work is valuable because RISC-V is
among the most promising open source hardware solutions. [4] tries to extend
all the previously mentioned architectures to support software-defined
metadata processing which are more general and versatile. Since the
architecture proposed in [4] is more different from the others, it is
investigated separate from other three architectures. And, finally, we compare
the architectures from different perspectives.

##  II Protection Scheme

A DIFT protection scheme relies on three main concepts: tag initialization,
tag propagation and tag check. During the tag initialization phase, all data
items coming from potentially malicious channels are marked as spurious. In
general, a potentially malicious channel is a legitimate I/O communication
channel through which malicious inputs may be injected into the application by
an attacker. During tag propagation, the processor, depending on the type of
instruction that is being executed and on the authenticity of each input
operand (as tracked with its corresponding tag), may decide to mark the result
of a computation as spurious. This allows the processor to keep track of all
information flows generated from spurious inputs at run-time. Finally, during
tag checking, if the processor detects that a spurious data item is used in an
unsafe manner, it raises a security exception. Thereafter, an exception
handler determines whether the use of the spurious value is legitimate or not,
i.e. whether the program should resume or terminate. A security policy defines
the rules that specify how untrusted I/O channels are identified, how
dependencies are tracked, and how restrictions on the use of spurious values
are applied. In the following subsections, different aspects of protection
scheme that is considered in implementation of three architectural support
approaches for DIFT will be described.

###  II-A Security tags and initialization

Tags are used to indicate whether the corresponding data block is authentic or
spurious. Different approaches has been proposed that extend a one-bit tag to
multiple-bit tags in order to distinguish the values or to keep track of
multiple security policies concurrently; for example, for values, it may be
helpful to distinguish the I/O inputs from the values generated from them.
Many architectures support byte granularity memory accesses and I/O. Thus, [1]
considers one tag bit per byte. In their system, the tags for registers are
initialized to be zero at program start-up. Similarly, all memory blocks are
initially tagged with zero. In order to initialize the tag of the program
data, the authors propose execution monitor which is a software module that
manages the protection scheme and enforces the security policy. The execution
monitor tags the data with one only if they are from a potentially malicious
input channel. The other responsibility of execution manager is enforcing the
security policy, i.e., in case of a trap generation by processor, the handler
checks if the trapped operation is allowed based on the security policy. If
the operation is legal, the handler returns to the application. Otherwise, the
violation is logged and the application is terminated. Since trap handler is
in the OS, security trap handling would be costly. In addition, the execution
manager is responsible for tagging potentially malicious inputs. Thus, it
should be able to classify the input data accurately so that there is no false
positive. The classification process is vague in the proposed architecture and
it is a very hard task.
The architecture proposed by [2] reasons that since there are a lot of
security threats, using just one tag bit is not enough to protect a system.
Hence they tried to extend one-bit tag approach. The authors of [2] use 4-bis
tags per word. The idea behind using 4-bits tag is to protect against a
diverse set of attacks concurrently. In order to initialize tags, security
handlers are implemented as shared libraries pre-loaded by the dynamic linker.
They claimed that in their architecture, OS ensures that all memory tags are
initialized to zero when pages are allocated and that all processes start in
trusted mode with register tags cleared. The security handler initializes the
policy configuration registers (explained later) and any necessary tags before
disabling the trusted mode and transferring control to the application. In
order to prevent attackers from compromising the security handler, they
introduced another mode orthogonal to user/kernel mode, named
trusted/untrusted mode. In trusted mode, tags are only accessible by the
security handler and not any other process (even in the kernel mode) can not
access/modify them. By using trusted mode there would be no need to change the
address space on a security trap which results in fast switching and therefore
lower performance overhead in comparison with [1].
The proposed implementation in [3], similar to [1], uses 1-bit tag for
registers and 1-bit tag for memory bytes, i.e., 4 bits per word. In addition
to data registers and memory, they also added a tag bit to PC register. In
this implementation, they extended RISC-V ISA with memory and register tagging
instructions. Also, library of routines are developed providing APIs to
initialize the tags of the data coming from potentially malicious channels at
program start-up.
Optimizing Tag Memory: Adding tag bits to all registers and memory locations
leads to a large memory overhead equal to 12.5%. In order to address this
issue, [1] introduced Multi-Granularity Security Tags. The key idea behind
multi-granularity tags is that writing each byte/word separately is not the
common case in the applications. In practice, the operating system should
maintain two more bits for each page to indicate the type of security tags
that the page has. Just after an allocation, a new authentic page holds a per
page tag, which is indicated by type value 00. Upon the first store operation
with a non-zero security tag to the page, a processor generates an exception
for tag allocation. The operating system determines the new granularity of
security tags for the page, allocates memory space for the tags, and
initializes the tags to be all zero. If the granularity of the store operation
is smaller than a quad-word, per-byte security tags are used. Otherwise, per-
quad-word tags, which only have 1.6% overhead, are chosen. If there is a store
operation with a small granularity for a page that currently has per-quad-word
security tags, the operating system reallocates the space for per-byte tags
and initializes them properly. Although this operation may seem expensive, the
authors of r2004 claimed that it is very rare (happens in less than 1% of
pages). It is worth mentioning that in all mentioned approaches, the security
tags are a part of program state, and should be managed by the operating
system accordingly. On a context switch, the tags for registers are saved and
restored with the register values. The operating system manages a separate tag
space for each process, just as it manages a separate virtual memory space per
process.

###  II-B Tag propagation

A spurious value is the one that may have unexpectedly changed by I/O inputs
due to bugs in the program. Once injected, spurious values can again cause
unexpected changes to other values through many diﬀerent dependencies. Each of
the mentioned approaches categorizes possible dependencies for spurious
information flows into different classes. Processors dynamically track
spurious information flow by tagging the result of an operation as spurious if
it has a dependency on spurious data. To be able to enforce various security
policies, the dependencies to be tracked and the way that they are propagating
are controlled by a bit vector. [1] calls this bit vector Propagation Control
Register (PCR), which is set to a proper value by the execution monitor based
on the specified security policy. [2] names the bit vector Tag Propagation
Register (TPR). Since there are four 1-bit tag for enforcing concurrent
policies, four TPRs are used in [2]. In both approaches they do not track any
form of control dependency. They stated that tracking control dependency is
not useful for detecting malicious software attacks considered in their work.
Their reason is that for control transfers that can compromise the program,
such as register-based jumps, the use of spurious values should simply be
checked and stopped.

Figure 2: Tag Propagation Register (TPR) proposed in [3]

Fig.2 shows the TPR structure implemented in [3]. As it is illustrated, and
mentioned before, they considere different dependency classes. In order to
propagate the tags, there should be propagation rules for each application
which is defined by the programmer through the provided API before starting
the program. Table I shows an example of tag propagation rules specified for
securing an application from a specific attack. To make it clearer, in the
propagation rule example of Table I, as an example, the result tag of integer
arithmetic operations is logical OR of it’s two operands’ tag. It means that
if any of the operands is spurious, the result of the operation would be
tagged as spurious too. Tag propagation rules should be designed carefully
because a mistake by the rule designer would be targeted by a security threat.

TABLE I: An Example of Tag Propagation Register Configuration [3] Field |  Value |  Rule
---|---|---
Load/Store Enable |  001 |  Source tag enabled
Load/Store Mode |  10 |  Dest tag = Source tag
Logical Mode |  10 |  Dest tag = Source1 tag OR Source2 tag
Comparison Mode |  00 |  No Propagation
Shift Mode |  10 |  Dest tag = Source1 tag OR Source2 tag
Jump Mode |  10 |  JAL: New PC = Old PC JALR: New PC = Source tag
Branch Mode |  00 |  No propagation
Integer Arith Mode |  10 |  Dest tag = Source1 tag OR Source2 tag

###  II-C Checking the Tags and Security Policies

The tag-check rules restrict the operations that may be performed on tagged
data. For example, a tag-check rule may be “If a tag of a register is set to
one then it cannot be used to address the data memory”. Given an instruction,
the corresponding check field specifies which operands tags are checked in
order to generate a security exception. If the check bit for an operand tag is
set to one and the corresponding tag is equal to one, an exception is raised.
[1] uses Trap Control Register (TCR) that is set by the execution monitor
based on the security policy. Similarly, as stated before, [2] uses four TCRs
to keep track of four security policies concurrently.
The security policy defines legitimate uses of I/O values by specifying the
untrusted I/O channels, information flows to be tracked (PCR/TPR), tag check
conditions (TCR), and software checks on a trap. If the runtime behavior of a
program violates the security policy, the program is considered to be
compromised. Ideally, the security policy should only allow legitimate
operations of the protected program. The policy can be based either on a
general invariant that should be followed by almost all programs or on the
invariants for a specific application. Also, the restrictions defining the
security policy can be based either on where spurious values can be used or on
general program behavior.
The proposed tag propagation/checking rules in [1, 2, 3] are performed by
small and simple logical (AND/OR) operations. Thus, tag propagation and
checking logic are embedded in execution stage (as a part of ALU) that result
in low power and area overhead. Since tag propagation and check is performed
in parallel with the actual operation, their logic would not affect the
critical path.

##  III Software-Defined Metadata Processing

The designs that were mentioned in previous section have made the hardware
metadata computation configurable but one of their main limitation is that
they use few bits to represent metadata and only support a limited class of
policies. However, fully securing systems will require more than memory safety
and isolation. Beside limited bits for the tag, tag propagation rules for
every operation (O) in previous approaches only has to do with the operands’
tag (OP1/OP2/MR) that produce the result tag (R).

TABLE II: Tag Propagation Rule Format in PUMP and other Architectures Arch |  Propagation Rule
---|---
[1, 2, 3] |  O : (OP1, OP2, MR) $\Rightarrow$ (R)
PUMP |  O : (PC, CI, OP1, OP2, MR) $\Rightarrow$ ($PC_{New}$, R)

On the other side of the arena, attacks are rapidly evolving to exploit any
forms of vulnerability. Thus, a flexible security architecture that can be
quickly adapted to this ever-changing security world is needed. This can be
achieved by supporting more general policies and more flexible tag propagation
rules in hardware. As shown in Table II, a general propagation rule for any
operation (O) should be able to decide that what the tag on the program
counter in the next machine state ($PC_{New}$) and the tag on the
instruction’s result (R) should be if the current tag on the program counter
is PC, the tag on the current instruction is CI, the tags on its input
operands (if any) are OP1 and OP2, and the tag on the memory location (in case
of load/store) is MR. In order to provide support for extensible, software-
defined metadata processing with low overhead, [4] introduces an architectural
model named the Programmable Unit for Metadata Processing (PUMP). PUMP is an
extension to a conventional RISC processor (Alpha) and an in-order
implementation with a 5-stage pipeline.
Fig. 3 shows the processor pipeline of the PUMP. As it is shown, tags are
added to all memory elements. The idea behind PUMP is that, for checking the
security policy of each operation, a software policy function should be
invoke. Invoking a policy function to check whether an operation is allowed or
not costs a lot of performance and power overhead because for each operation
there should be a context switch to policy function so that it can check if
that operation is allowed or not. Statistics shows that security policies are
limited and have high locality. Thus, they solved this problem by using a Rule
Cache added to a stage before committing the executed operation. The
operations are checked if they are allowed to commit only by looking up Rule
Cache. It will be explained the scenario of a rule miss in Rule Cache in
details.

Figure 3: the PUMP processor Pipeline TABLE III: Summary of the Reviewed DIFT Architectures Arch |  Tag size |  Trap Handler |  Overhead |  New Instruction |  Adding Trust Mode |  # of Policies |  Versatility
---|---|---|---|---|---|---|---
[1] |  1/byte |  OS Level |  1.4% memory, 1.1% perf |  Yes |  No |  One |  Low, I/O tagged by OS
[2] |  4/word |  User Level |  7.17% logic, 1.34% perf |  Yes |  Yes |  Four |  I/O tagged by sysAdmin
[3] |  1/byte |  – |  12.5% memory, 0.83% logic |  Yes |  No |  One |  High, I/O tagged by the user
[4] |  word/word |  User Level |  110% area, <10% perf |  Yes |  Yes |  Unbounded |  High, I/O tagged by the user

Metadata Tags: Pointer-sized tags are used in this architecture to make the
policy writer able to point to any memory location for addressing tags. This
notion of software-defined metadata and its representation as a pointer-sized
tag extends previous tagging approaches such as [1, 2, 3], where only a few
bits are used for tags with fixed interpretation. In order to make the
previous approaches extensible, in this architecture, every word is associated
with a pointer-sized tag. Thus, the tag is large enough to indirect to a data
structure in memory which leads to supporting unbounded metadata. All tag
manipulation is defined and implemented with PUMP rules and stored in Rule
Cache. In this architecture, even worse than the previous approaches, tag
memory overhead is a lot (around 2x). In practice, they did not allotted
pointer-sized tags. Instead, the authors used 12-bits tag for L1 cache and
16-bits tag for L2 cache. In order to make tag bits consistent when moving the
data between caches, they used a translation approach. They mentioned that
other methods like Multi-Granularity Security Tags can also be used.
Propagation Rules: The rules format used in this architecture allows two
output tags to be computed from up to five input tags, which makes it a more
powerful and versatile architecture. For some security policies, there is no
need for all five input tag, and should not be considered. In Fig. 3, Don’t
Care component is responsible for removing any of PC, CI, OP1, OP2, MR in Rule
Cache lookup if they are not needed for a specific operation (O). By doing so,
L1 PUMP cache would have less entropy that results in higher hit rate.
Rule cache is added to architecture to support single-cycle common-case
computation on metadata. It means, as long as we hit in this cache, any extra
cycles would not be added to the execution of the program. Rules are not
generated in this cache, this cache is just to look them up. In case of a rule
miss, a user-level miss handler routine will be invoked to generate a new rule
base on the operation, its operands, PC, and CI. Once the rule generated and
placed in the Rule cache, it will be used in the next accesses. Obviously, the
hit/miss rate of this cache depends on how good the user/policy write write
the policies, the higher the locality of a policy, the higher hit rate, and
the lower performance overhead.

|  Algorithm 1 N-Policy Miss Handler
---|---
1: |  for i=1 to N do
2: |  – M[i] = {op, PC[i], CI [i], OP1[i], OP2[i], MR[i]}
3: |  – {pc[i] , res[i]} = policy[i](M[i])
4: |  $PC_{new}$ = canonicalize([pc[1], pc[2], …, pc[N]])
5: |  R = canonicalize([res[1], res[2], …, res[N]])

Miss Handler: will be invoked in case of a rule miss in the rules’ last level
cache. In order to serve the miss, the processor state will be stored in
specific registers (added to the processor for this purpose), and the control
of the processor goes to the policy function to decide if the operation is
allowed or not. In case the operation which caused the miss is a valid
operation, new rule will be generated and installed in the Rule Cache. In miss
handler mode, Rule cache is ignored. Similar to [2], a new mode is introduced
in order to provide isolation between the privileged miss handler and the rest
of the system software and user code. This mode which is called miss handler
operational mode is controlled by a bit in the processor state. Miss handler
is designed in such a way that multiple policies can be enforced
simultaneously. Alg.1 shows the general behavior of the composite miss handler
for any N policies. canonicalize function is utilized to minimize the number
of distinct tags (and hence rules) by using a single tag for logically
equivalent metadata. This helps increasing Rule Cache hit rate, which has
direct effect on the performance.

##  IV COMPARISON

Adding DIFT support to both hardware and software introduces overheads. Table
III summarizes the different aspects of the proposed architectures that
support DIFT. In Table III, trap handler field means that the security traps
are addressed in which level of the system. Also Versatility means that how
convenient it is for an application developer to decide which data to tag as
potentially malicious data which should be tracked.

##  V CONCLUSION

In this survey, we briefly reviewed four architectures that provided DIFT
support. Adding DIFT support to processors introduces some area/power
overhead. As expected, the more secure, general, and versatile the
architecture be, the more overhead will be added to the processor.

## References

  * [1] G. E. Suh, J. W. Lee, D. Zhang, and S. Devadas. Secure program execution via dynamic information flow tracking. In International Conference on Architectural Support for Programming Languages and Operating Systems, pages 85–96, 2004.
  * [2] M. Dalton, H. Kannan, and C. Kozyrakis. Raksha: a flexible information flow architecture for software security. In International Symposium on Computer Architecture (ISCA), pages 482–493, 2007.
  * [3] C. Palmiero, G. Di Guglielmo, L. Lavagno, and L. P. Carloni, “Design and implementation of a dynamic information flow tracking architecture to secure a RISC-V core for IoT applications,” in Proc. IEEE High Perform. Extreme Comput. Conf. (HPEC), 2018, pp. 1–7
  * [4] Udit Dhawan, Catalin Hritcu, Raphael Rubin, Nikos Vasilakis, Silviu Chiricescu, Jonathan M Smith, Thomas F Knight Jr, Benjamin C Pierce, and Andre DeHon. 2015. Architectural support for software-defined metadata processing. ACM SIGARCH Computer Architecture News (2015).
  * [5] H. Kannan, M. Dalton, and C. Kozyrakis. Decoupling dynamic information flow tracking with a dedicated coprocessor. In Proc. of the IEEE/IFIP International Conference on Dependable Systems and Networks, pages 105–114, 2009.


# Sengupta Transformations and Carrollian Relativistic Theory

Rabin Banerjee1 111DAE Raja Ramanna fellow Soumya Bhattacharya1 Bibhas Ranjan
Majhi2 1Department of Astrophysics and High Energy Physics, S.N. Bose National
Center for Basic Sciences, Kolkata 700106, India<EMAIL_ADDRESS><EMAIL_ADDRESS>2 Department of Physics, Indian Institute of Technology
Guwahati, Guwahati 781039, Assam, India<EMAIL_ADDRESS>
###### Abstract

A detailed and systematic formulation of Carrollian relativity is provided.
Based on the transformations, first provided by Sengupta [18], we construct a
mapping between Lorentz relativistic and Carrollian relativistic vectors.
Using this map the Carroll theory is built from the standard Maxwell action.
We show that we get self-consistent equations of motion from the action, both
in electric and magnetic limits. We introduce Carroll electric and magnetic
fields. A new set of maps is derived that connects Carroll electric and
magnetic fields with the usual Maxwell ones and yields Carroll equations in
terms of fields. Consistency of results with the potential formulation is
shown. Carroll version of symmetries like duality, gauge, shift, Noether and
boost are treated in details and their implications elaborated. Especially,
boost symmetry provides a link to the various maps used in this paper.

##  I Introduction

We know that the non-relativistic limit of the relativistic physics plays an
important role in modern physics. These non-relativistic theories have found
applications in diverse fields [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. The non-
relativistic limit can be obtained by group contraction method from Poincare
group which describes the relativistic sector. One of the well studied
examples of non-relativistic limit is the Galilean limit where one considers
the speed of light to be considerably greater than the other speeds. The study
of Galilean relativistic theories was initiated by Le Bellac and Levy Leblond
[11] back in 1970’s. Afterwards various aspects of Galilean relativistic
physics have been studied [12, 13, 14, 15, 16].

Another unfamiliar yet quite interesting aspect to study occurs when the speed
of light is considerably smaller than other speeds. This limiting case was
first proposed by Levy-Leblond [17] and almost simultaneously by N. D.
Sengupta [18] although the methods were quite different. Levy-Leblond [17]
coined the name ‘Carroll group’ for the corresponding symmetry group, by
referring to Lewis Carroll’s books, “Alice in the Wonderland” and “Through the
Looking Glass”, for showing a strange world (breakdown of causality, for
instance) (for further details look at [13]). Contrary to the Galilean case,
where light cones open up, the light cones close up in the Carroll limit. This
has some unusual consequences for the kinematics and dynamics in this limit.
Immediately after discovery of the Carroll group interest was only limited to
mathematical curiosity and the field otherwise lay fallow due to lack of solid
physical motivations. But in the last few years we see a resurgence of
interest in this field. One of the main reasons behind this is the
identification of the conformal extension of the Carroll group and the Bondi-
Metzner-Sachs (BMS) group [19] which plays important role in gravitational
physics [20]. There have been a lot of studies on Carrollian sector in various
fields like basic formalism [13], in gravitational waves and memory effects
[21, 22], in the Hall effect [23], in quadratic and higher derivative gravity
theories [24, 25], in the hydrodynamics [26, 27], in the celestial holography
[28, 29] to name a few.

Here in this paper we are mostly interested in the formulation aspect of the
Carroll relativistic field theory. Almost all the work in this field follow
the formalism put forward by Levy-Leblond [17] which is based on the argument
of the principle of causality. We, on the other hand are more interested by
the kinematic approach proposed by N. D. Sengupta [18]. He gave a new set of
transformations from which we are able to derive known Carroll relativistic
results. However Sengupta’s work [18] received little recognition 222Very
recently Levy-Leblond quite decently mentioned about Sengupta’s work in a
review [30]. Our main motivation here is to build up a systematic action
formalism for a Carroll relativistic field theory following the similar track
that we have used for the Galilean relativistic field theories [14, 15, 16].
One cannot get the desired results by starting with usual Lorentz
transformations simply because they are not valid. Here Sengupta’s formulation
plays a crucial role. We show in our paper in a very straight forward way how
to build up a consistent Carroll relativistic action formulation by using
Sengupta’s formulation [18].

We begin our paper by introducing briefly the Lorentz transformations and the
Galilean limits. Here we discuss about the mappings that connect the Lorentz
and Galilean relativistic quantities. We then move to discuss the Sengupta’s
transformations. Keeping in mind the Galilean analogue we provide a mapping
connecting relativistic and Carroll vectors for both ‘electric’ and ‘magnetic’
limits. Using these relations we then build up the action formulations in
terms of potentials for both these limits and write down explicitly the
equations of motion and their internal consistency. We then introduce the
Carrollian electric and magnetic fields and the entire analysis is then
performed in terms of electric and magnetic fields. Along the way, we discuss
the duality symmetry involved here. Next we discuss gauge symmetry. We also
compute the Carrollian version of the Noether currents and explicitly show
their on-shell conservation. Shift symmetries which play an important role in
the study of low-energy effective Lagrangians in the context of Goldstone’s
theorem are analysed from a modern viewpoint. Recently there have been some
studies on such symmetries from different aspects [14, 31, 32]. We compute
corresponding currents and their conservations in the Carroll limit.

The paper is organised as follows. In section II we provide a brief review of
the Galilean limit and the mapping relations. Section III provides a short
discussion about Sengupta’s formulation and the Carrollian mappings. In
section IV we build up a systematic action formulation for Carroll
relativistic Maxwell theory for both electric and magnetic limits. In section
V we introduce the Carrollian electric and magnetic fields and recast the
equation of motion in terms of fields. Transformations under Carrollian boost
have been discussed in section VI. Gauge symmetry, Noether currents and their
conservations are discussed in section VII. In section VIII we discuss shift
symmetry and its Carrollian counterpart, corresponding currents and their
conservations. Finally, conclusions have been given in section IX.

##  II Lorentz transformation and Galilean limit

Here we derive a certain scaling between special relativistic and Galilean
relativistic quantities. As we know there exist two types of such limits,
namely electric and magnetic limits. Let us first consider the contravariant
vectors. Take a generic Lorentz transformation with the boost velocity as
$u^{i}$:

$x^{\prime 0}=\gamma x^{0}-\frac{\gamma u_{i}}{c}x^{i}~{};$ (1) $x^{\prime
i}=x^{i}-\frac{\gamma
u^{i}}{c}x^{0}+(\gamma-1)\frac{u^{i}u_{j}}{u^{2}}x^{j}~{},$ (2)

where the boost factor is given by

$\gamma=\frac{1}{\sqrt{1-\frac{u^{2}}{c^{2}}}}~{}.$ (3)

Under such Lorentz transformations contravariant components of a vector
transform as (also considering $u<<c$, so $\gamma\to 1$)

$V^{\prime 0}=V^{0}-\frac{u_{j}}{c}V^{j}~{};$ (4) $V^{\prime
i}=V^{i}-\frac{u^{i}}{c}V^{0}~{}.$ (5)

We now provide a map that relates the Lorentz vectors with their Galilean
counterparts and provide the ‘large time-like’ vectors and is called ‘electric
limit’ 333For detailed construction one can look at [14] 444Notation: Here
relativistic vectors are denoted by capital letters ($V^{0},V^{i}$ etc) and
Galilean vectors are denoted by lowercase letters ($v^{0},v^{i}$ etc).

$V^{0}=cv^{0},\,\,\,\,V^{i}=v^{i}~{}.$ (6)

Now using (6) in (4) and (5) we get

$v^{\prime 0}=v^{0}~{};$ (7) $v^{\prime i}=v^{i}-u^{i}v^{0}~{}.$ (8)

We next consider a different scaling,

$V^{0}=-\frac{v^{0}}{c},\,\,\,\,V^{i}=v^{i}~{}.$ (9)

This map corresponds to ‘large spacelike vectors’ and the corresponding
transformations are given by,

$v^{\prime 0}=v^{0}+u_{j}v^{j}~{};$ (10) $v^{\prime i}=v^{i}~{}.$ (11)

Both pairs (7, 8) and (10, 11) are non-relativistic transformations (since the
Lorentz factor 3 has disappeared). It is useful to note that the roles of the
time and space coordinates are interchanged and is a manifestation of the two
limits of the theory.

It is clearly seen from the Lorentz transformations given in (1) and (2) that
considering Carroll limit i.e $c\to 0$ limit is quite tricky. In the following
section we discuss a different set of transformations which are complementary
to the usual Lorentz transformations and for which considering Carroll limit
is much more easier and direct.

##  III Sengupta’s transformation and Carroll limit

Lorentz transformations are a natural route to study the Galilean limit of a
theory. There are two limits - electric and magnetic. Since the electric limit
corresponds to large timelike vectors it occurs meaningfully in coordinate
vectors in Lorentz relativistic theories. While this is essential for
presenting causality, an arbitrary four vector (say, a four potential) is not
restricted by this principle of causality [17]. It may be either space-like or
time-like. Thus, although the electric limit is favoured, both limits may be
developed using Lorentz transformations. Now arises a question. If we can
develop both limits of a non-relativistic theory from Lorentz transformations,
is this possible for transformations where the magnetic limit is favoured? The
answer is yes, as elaborated below.

Let us take a new set of transformations first proposed by N.D. Sengupta with
the boost velocity as $\omega$ along $x$-axis. For this specific choice of
boost direction these are given by [18]:

$\displaystyle
x^{\prime}=\tilde{\gamma}\Big{(}x-\tilde{\beta}x^{0}\Big{)}~{};\,\,\,\
y^{\prime}=y~{};\,\,\ z^{\prime}=z~{};$ (12) $\displaystyle x^{\prime
0}=\tilde{\gamma}\Big{(}x^{0}-\tilde{\beta}x\Big{)}~{},$ (13)

where the Sengupta factors are defined as,

$\tilde{\gamma}=\frac{1}{\sqrt{1-\tilde{\beta}^{2}}}~{};\,\,\,\
\tilde{\beta}=\frac{c}{\omega}~{}.$ (14)

However for the present analysis we need to generalise the above ones for the
boost along an arbitrary direction. This can be done very easily. Note that
the position vector $\vec{x}$ can be decomposed into two parts – one is
parallel to the boost (call as $\vec{x}_{||}$) and another is perpendicular to
this (call as $\vec{x}_{\perp}$); i.e. $\vec{x}=\vec{x}_{||}+\vec{x}_{\perp}$.
The parallel component must be given by
$\vec{x}_{||}=\frac{\vec{\tilde{\beta}}(\vec{\tilde{\beta}}\cdot\vec{x})}{\tilde{\beta}^{2}}$,
where we have $\tilde{\beta}^{i}=\frac{c\omega^{i}}{\omega^{2}}$ and
$\tilde{\beta}^{2}=\tilde{\beta}_{i}\tilde{\beta}^{i}$. Following the
structure of the equation in (12), the transformation law for the parallel and
perpendicular components can be given as

$\vec{x^{\prime}}_{||}=\tilde{\gamma}\Big{(}\vec{x}_{||}-\vec{\tilde{\beta}}x^{0}\Big{)}~{};\,\,\,\
\vec{x^{\prime}}_{\perp}=\vec{x}_{\perp}~{}.$ (15)

Here $\tilde{\gamma}$ takes the similar form as given by the first equation in
(14), but now $\tilde{\beta}^{2}$ is defined as
$\tilde{\beta}^{2}=\tilde{\beta}_{i}\tilde{\beta}^{i}$. Then the
transformation law for the position vector can be obtained as

$\displaystyle\vec{x^{\prime}}$ $\displaystyle=$
$\displaystyle\vec{x^{\prime}}_{\perp}+\vec{x^{\prime}}_{||}$ (16)
$\displaystyle=$
$\displaystyle\vec{x}_{\perp}+\tilde{\gamma}\Big{(}\vec{x}_{||}-\vec{\tilde{\beta}}x^{0}\Big{)}$
$\displaystyle=$
$\displaystyle\vec{x}-\vec{x}_{||}+\tilde{\gamma}\Big{(}\vec{x}_{||}-\vec{\tilde{\beta}}x^{0}\Big{)}~{},$

where in the second equality (15) has been used. Next using
$\vec{x}_{||}=\frac{\vec{\tilde{\beta}}(\vec{\tilde{\beta}}\cdot\vec{x})}{\tilde{\beta}^{2}}$
we obtain the desired result

$x^{\prime
i}=x^{i}+\frac{\tilde{\gamma}-1}{\tilde{\beta}^{2}}\Big{(}\tilde{\beta}^{i}\tilde{\beta}_{j}\Big{)}x^{j}-\tilde{\gamma}\tilde{\beta}^{i}x^{0}~{}.$
(17)

While (13) suggests that the temporal coordinate should have the following
transformation:

$x^{\prime 0}=\tilde{\gamma}\Big{(}x^{0}-\tilde{\beta}_{j}x^{j}\Big{)}~{}.$
(18)

Although both $u$ and $\omega$ have dimension of velocity they have very
different physical interpretations. On the other hand, from (18) we find that
if $\Delta t^{\prime}=0$ then $\omega^{i}=\frac{dx^{i}}{dt}$. This implies
that $\omega^{i}$ is the rate of motion of an event measured in the unprimed
frame that occurs at a fixed instant of time in the primed frame. It should
also be noted that the usual Lorentz transformations and Sengupta’s
transformations are related by $u^{i}\to\frac{c^{2}\omega^{i}}{\omega^{2}}$ or
equivalently, $\omega^{i}\to\frac{c^{2}u^{i}}{u^{2}}$, where $u^{i}$ is the
Lorentz boost velocity. Recall that both $u^{i}$ and $\omega^{i}$ have
dimensions of velocity. For covariant components this is generalised as,

$u_{i}\to\frac{c^{2}\omega_{i}}{\omega^{2}}~{};\,\,\,\
\omega_{i}\to\frac{c^{2}u_{i}}{u^{2}}~{}.$ (19)

The other point is that $u_{i}$ and $\omega_{i}$ may be regarded as
independent with complementary range of values, $0\leq|u|<c$ and $|\omega|>c$.
In this way, both small and large velocity limits may be implemented.

Using the transformations (17) and (18) we will now build the backbone of our
analysis which consists of the transformation rules of an arbitrary four
vector in the Carroll limit. Under these transformations, it is very easy to
show that the contravariant components of any four-vector transform as

$\displaystyle V^{\prime
0}=\tilde{\gamma}\Big{(}V^{0}-\tilde{\beta}_{j}V^{j}\Big{)}~{};$ (20)
$\displaystyle V^{\prime
i}=V^{i}+\Big{(}\tilde{\gamma}-1\Big{)}\frac{\tilde{\beta}^{i}\tilde{\beta}_{j}}{\tilde{\beta}^{2}}V^{j}-\tilde{\gamma}\tilde{\beta}^{i}V^{0}~{}.$
(21)

It may be noted that within the Sengupta’s formalism the Carroll limit is
achieved through the following conditions:

$c<<\omega~{};\,\,\,\ \tilde{\gamma}\to 1~{};\,\,\,\
\tilde{\beta}^{i}=\frac{c\omega^{i}}{\omega^{2}}<<1~{}.$ (22)

Imposition of the above on (20) and (21) then yields

$\displaystyle V^{\prime 0}=V^{0}-\frac{c\omega_{j}}{\omega^{2}}V^{j}~{},$
(23) $\displaystyle V^{\prime
i}=V^{i}-\frac{c\omega^{i}}{\omega^{2}}V^{0}~{}.$ (24)

The above ones will provide us the transformation rules of Carrollian vectors
from one frame to other. In order to find those we next provide a map that
relates the Lorentz vectors with their Carrollian counterparts. Carrollian
vectors $v^{0},~{}v^{i}$ are introduced by the scaling,555Notation: Here
relativistic vectors are denoted by capital letters ($V^{0},~{}V^{i}$ etc.)
and Carrollian vectors are denoted by lowercase letters ($v^{0},~{}v^{i}$ etc)

$V^{0}=v^{0}~{};\,\,\,\,V^{i}=cv^{i}~{}.$ (25)

This particular map corresponds to the case
$\frac{V^{0}}{V^{i}}=\frac{1}{c}~{}\frac{v^{0}}{v^{i}}$ such that $c\to 0$
limit this yields largely timelike vectors and is called the ‘electric limit’.
In this particular limit the using the scaling relation (25) the
transformation equations (23) and 24 will take the following forms in the
$c\to 0$ limit,

$\displaystyle v^{\prime 0}=v^{0}~{};$ $\displaystyle v^{\prime
i}=v^{i}-\frac{\omega^{i}}{\omega^{2}}v^{0}~{}.$ (26)

In a similar fashion one can define the large spacelike vectors by the
following scaling relation

$V^{0}=cv^{0}~{};\,\,\,\,V^{i}=v^{i}~{},$ (27)

which in the $c\to 0$ limit yields largely spacelike vectors and is called the
‘magnetic limit’. Now using these scaling relations (27) and taking the $c\to
0$ limit we have

$\displaystyle v^{\prime 0}=v^{0}-\frac{\omega_{j}}{\omega^{2}}v^{j}~{},$
$\displaystyle v^{\prime i}=v^{i}~{}.$ (28)

Table 1: Mapping relations ${\rm Limit}$ | ${\rm Galilean~{}~{}mapping}$ | ${\rm Carrollian~{}~{}mapping}$
---|---|---
${\rm Electric~{}~{}limit}$ | $V^{0}\to c~{}v^{0},\,\,V^{i}\to v^{i}$ | $V^{0}\to v^{0},\,\,V^{i}\to cv^{i}$
${\rm Magnetic~{}~{}limit}$ | $V^{0}\to-\frac{v^{0}}{c},\,\,V^{i}\to v^{i}$ | $V^{0}\to c~{}v^{0}.\,\,V^{i}\to v^{i}$

##  IV Carroll relativistic Maxwell theory: action principle

Here we wish to systematically build up a Carrollian relativistic version of
the Maxwell theory. Let us now start from the relativistic Maxwell theory
described by the action given as

$S=-\frac{1}{4}\int d^{4}xF_{\mu\nu}F^{\mu\nu}~{},$ (29)

where $F_{\mu\nu}=\partial_{\mu}A_{\nu}-\partial_{\nu}A_{\mu}$ with $A_{\mu}$
is identified as the relativistic four-vector potential. The calculation will
be done following a particular general idea. Before taking $c\to 0$ limit, we
will write down all the terms (if that term has any possible $c$ dependence)
in any mathematical expression in terms of $c$. So relativistic four vectors
can be written in terms of Carrollian vectors with possible $c$ dependence
described in previous section and the partial derivatives i.e.
$\partial^{0},~{}\partial^{i},~{}\partial_{0},~{}\partial_{i}$ will follow the
relation: $\partial^{0}=-\partial_{0}=-\frac{1}{c}\partial_{t}$ and
$\partial^{i}=\partial_{i}$. These are dictated by the relations
$x^{0}=-x_{0}=ct,~{}x^{i}=x_{i}$. Finally the $c\to 0$ limit will be
considered. Hence we can write

$F_{\mu\nu}F^{\mu\nu}=\eta_{\mu\lambda}\eta_{\nu\rho}F^{\lambda\rho}F^{\mu\nu}=-2(F^{0i})^{2}+(F^{ij})^{2}~{}.$
(30)

Here $\eta_{\mu\nu}$ is the flat space metric with signature
$\Big{(}-,+,+,+\Big{)}$ and we use the convention that
$(F^{0i})^{2}=F^{0i}\times F^{0i}$ and $(F^{ij})^{2}=F^{ij}\times F^{ij}$.

###  IV.1 Electric limit

In this limit the Maxwell action 29 will be reduced to

$S_{e}=\int d^{4}x\mathcal{L}_{e}~{},$ (31)

where

$\mathcal{L}_{e}=\frac{1}{2}(\partial_{t}a^{i}+\partial^{i}a^{0})^{2}-\frac{c^{2}}{4}(f^{ij})^{2}~{}.$
(32)

In the above $(a^{0},a^{i})$ are the vector potentials in Carroll limit which
are related to their relativistic counter parts $A^{\mu}$ through the mappings
given in (25); i.e. $a^{0}=A^{0}$ and $a^{i}=(1/c)A^{i}$. Now varying the
action (31) with respect to $a^{0},~{}a^{j}$ we get the following equations
respectively,

$\displaystyle\partial_{i}(\partial_{t}a^{i}+\partial^{i}a^{0})=0~{},$ (33)
$\displaystyle\partial_{t}(\partial_{t}a^{j}+\partial^{j}a^{0})-c^{2}\partial_{i}f^{ij}=0~{}.$
(34)

Now it is easy to show that these equations can be directly obtained from the
relativistic equations of motion

$\displaystyle\partial_{i}F^{i0}=0~{},$ (35)
$\displaystyle\partial_{0}F^{0j}+\partial_{i}F^{ij}=0~{},$ (36)

when one takes the Carroll limit. Use of our prescribed path on (35) for the
electric limit yields

$\displaystyle\partial_{i}F^{i0}=0\xrightarrow[\text{$c\to
0$}]{\text{electric~{}limit}}\partial_{i}(\partial_{t}a^{i}+\partial^{i}a^{0})=0~{},$
(37)

which reproduces (33). Likewise the Carrollian limit of (36) reproduces (34).
This shows the consistency of the equations of motion in Carrollian Maxwell
model.

###  IV.2 Magnetic limit

In this limit the Maxwell action will be reduced to

$S_{m}=\int d^{4}x\mathcal{L}_{m}~{},$ (38)

where

$\mathcal{L}_{m}=\frac{1}{2}\Big{(}\frac{1}{c}\partial_{t}a^{i}+c\partial^{i}a^{0}\Big{)}^{2}-\frac{1}{4}\Big{(}f^{ij}\Big{)}^{2}~{}.$
(39)

In this case the relativistic fields and the Carrollian ones are mapped
through (27); i.e. $a^{0}=(1/c)A^{0}$ and $a^{i}=A^{i}$. Varying the action
(38) with respect to $a^{0},~{}a^{j}$ we get the following equations
respectively,

$\displaystyle\partial_{i}\partial_{t}a^{i}=0~{},$ (40)
$\displaystyle\partial_{t}\Big{(}\frac{1}{c}\partial_{t}a^{j}+c\partial^{i}a^{0}\Big{)}-\partial_{i}f^{ij}=0~{}.$
(41)

Now, like earlier, the above two equations can be directly obtained from (35)
and (36) by imposing the magnetic limit – (35) yields (40) while (41) is
obtained from (36). This again verifies the consistency of our analysis.

##  V Electric and magnetic fields in Carrollian Maxwell theory

The electric and magnetic fields at the Carroll limit and their mappings with
the counter parts in relativistic regime can be obtained by using (25) and (27
and the relativistic Maxwell’s equations. The relativistic, source free
Maxwell’s equations in terms of electric and magnetic fields are given by

$\displaystyle\vec{\nabla}\cdot\vec{E}=0~{};\,\,\,\,\
\vec{\nabla}\cdot\vec{B}=0~{};$
$\displaystyle\vec{\nabla}\times\vec{E}=-\frac{1}{c}\frac{\partial\vec{B}}{\partial
t}~{};\,\,\,\,\
\vec{\nabla}\times\vec{B}=\frac{1}{c}\frac{\partial\vec{E}}{\partial t}~{}.$
(42)

Before going to the analysis we denote the electric and magnetic fields in
Carroll limit as $e^{i}$ and $b^{i}$, respectively.

Table 2: Field scalings in Galilean and Carrollian limit ${\rm Limits}$ | ${\rm Galilean~{}limit}$ | ${\rm Carrollian~{}limit}$
---|---|---
${\rm Electric~{}limit}$ | $E^{i}\to ce^{i},~{}B^{i}\to b^{i}$ | $E^{i}\to e^{i},~{}B^{i}\to cb^{i}$
${\rm Magnetic~{}limit}$ | $E^{i}\to\frac{e^{i}}{c},~{}B^{i}\to b^{i}$ | $E^{i}\to ce^{i},~{}B^{i}\to b^{i}$

Electric limit:
In the electric limit the mappings between the relativistic and Carroll vector
components are given by (25). Therefore the four-vector potential components
are related as $a^{0}=A^{0}$ and $a^{i}=(1/c)A^{i}$. Now the second relation
in (42) yields $\vec{B}=\vec{\nabla}\times\vec{A}$; i.e.
$B^{i}=\epsilon^{ijk}\partial^{j}A^{k}$. Then use of the mapping
$A^{i}=ca^{i}$ shows that $B^{i}$ should go as $B^{i}=cb^{i}$. To identify the
electric field it is reasonable to use the static situation of the Maxwell’s
equations. In this case one has $\vec{E}=-\vec{\nabla}A^{0}$ and as
$A^{0}=a^{0}$, we must have $E^{i}=e^{i}$. Thus we have the following scaling
relations:

$E^{i}\to e^{i}~{};\,\,\,\ B^{i}\to cb^{i}~{}.$ (43)

Using the above scaling relation and taking $c\to 0$ limit, the relativistic
Maxwell’s equations (42) reduce to the following set of equations

$\displaystyle\vec{\nabla}\cdot\vec{e}=0~{};\,\,\,\,\
\vec{\nabla}\cdot\vec{b}=0~{};$
$\displaystyle\vec{\nabla}\times\vec{e}=-\frac{1}{c}\frac{\partial\vec{b}}{\partial
t}~{};\,\,\,\,\ \frac{\partial\vec{e}}{\partial t}=0~{}.$ (44)

Magnetic limit:
As in the magnetic limit the mappings for the vector potentials are
$A^{0}=ca^{0}$ and $A^{i}=a^{i}$, use of the similar argument yields the
following scaling relations

$E^{i}\to ce^{i}~{};\,\,\,\ B^{i}\to b^{i}~{}.$ (45)

Using the above scaling relation and taking $c\to 0$ limit, the relativistic
Maxwell’s equations (42) reduce to the following set of equations

$\displaystyle\vec{\nabla}\cdot\vec{e}=0~{};\,\,\,\,\
\vec{\nabla}\cdot\vec{b}=0~{};$ $\displaystyle\frac{\partial\vec{b}}{\partial
t}=0~{};\,\,\,\,\
\vec{\nabla}\times\vec{b}=\frac{1}{c}\frac{\partial\vec{e}}{\partial t}~{}.$
(46)

Our results here (as given in (44) and (46)) are consistent with the results
discussed in [13] which are derived in a different approach. One can also
observe that a particular type of duality symmetry holds here. One can see
from the set of equations given in (44) and (46) that under the transformation
$e^{i}\to b^{i}$ and $b^{i}\to-e^{i}$ the electric limit equations (given in
(44)) transform to the magnetic limit equations (given in (46)) and vice-
versa. The results are summarised schematically in the box below.

$e^{i}\to\pm b^{i},~{}~{}~{}b^{i}\to\mp e^{i}\Longleftrightarrow{\rm{\bf
Electric\longleftrightarrow Magnetic}}$

##  VI Transformations of fields under boost

So far we have considered the potentials and given the appropriate scaling in
the electric and magnetic limits. Relevant Maxwell’s equations in the Carroll
limit were obtained. To derive the scaling relations for the fields we
considered the definition of the fields in terms of the potentials. Next,
exploiting the scaling relations for potentials we can obtain the
corresponding relations for fields. This is shown below.

The field tensor transforms as

$\displaystyle F^{\prime\mu\nu}(x^{\prime})=\frac{\partial
x^{\prime\mu}}{\partial x^{\lambda}}\frac{\partial x^{\prime\nu}}{\partial
x^{\rho}}F^{\lambda\rho}(x)~{}.$ (47)

The Sengupta’s form of boost transformations are given by (17) and (18). Using
these in (47) we get following relations

$\displaystyle F^{\prime 0i}=E^{\prime
i}=\tilde{\gamma}E^{i}+\tilde{\gamma}\Big{(}\tilde{\gamma}-1\Big{)}\frac{\tilde{\beta}^{i}\tilde{\beta}_{j}}{\tilde{\beta}^{2}}E^{j}-\tilde{\gamma}^{2}\tilde{\beta}^{i}\tilde{\beta}_{j}E^{j}+\tilde{\gamma}\tilde{\beta}_{j}F^{ij}+\tilde{\gamma}\Big{(}\tilde{\gamma}-1\Big{)}\frac{\tilde{\beta}^{i}\tilde{\beta}_{j}\tilde{\beta}_{m}}{\tilde{\beta}^{2}}F^{jm}~{};$
(48) $\displaystyle F^{\prime
ij}=-\tilde{\gamma}\tilde{\beta}^{i}E^{j}+\tilde{\gamma}\tilde{\beta}^{j}E^{i}+F^{ij}+\Big{(}\tilde{\gamma}-1\Big{)}\frac{\tilde{\beta}^{j}\tilde{\beta}_{k}}{\tilde{\beta}^{2}}F^{ik}+\Big{(}\tilde{\gamma}-1\Big{)}\frac{\tilde{\beta}^{i}\tilde{\beta}_{l}}{\tilde{\beta}^{2}}F^{lj}+\Big{(}\tilde{\gamma}-1\Big{)}^{2}\frac{\tilde{\beta}^{i}\tilde{\beta}^{j}\tilde{\beta}_{l}\tilde{\beta}_{k}}{\tilde{\beta}^{4}}F^{lk}~{}.$
(49)

Now we are going to discuss two sectors of the Carroll limit by taking $c\to
0$ limit, more precisely imposing (22).

Electric limit:
Here using the electric limit scaling relation (43) in Eqs. (48) and (49) we
get the following field transformations equations under Carrollian boost:

$\displaystyle e^{\prime i}=e^{i}~{};$ (50) $\displaystyle b^{\prime
i}=b^{i}-\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{e}\Big{)}^{i}~{}.$
(51)

Magnetic limit:
Here using the magnetic limit scaling relation (45) in Eqs. (48) and (49) we
get the following field transformations equations under Carrollian boost:

$\displaystyle e^{\prime
i}=e^{i}+\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{b}\Big{)}^{i}~{};$
(52) $\displaystyle b^{\prime i}=b^{i}~{}.$ (53)

A comparison with the Galilean boost transformations is provided in table 3

Table 3: Transformation of fields under Galilean and Carrollian boost ${\rm Limits}$ | ${\rm Galilean~{}case}$ | ${\rm Carroll~{}case}$
---|---|---
${\rm Electric~{}limit}$ | $e^{\prime i}=e^{i},~{}~{}b^{\prime k}=b^{k}-\Big{(}\vec{v}\times\vec{e}\Big{)}^{k}$ | $e^{\prime i}=e^{i},~{}~{}b^{\prime i}=b^{i}-\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{e}\Big{)}^{i}$
${\rm Magnetic~{}limit}$ | $e^{\prime i}=e^{i}+\Big{(}\vec{v}\times\vec{b}\Big{)}^{i},~{}~{}\vec{b}^{\prime}=\vec{b}$ | $e^{\prime i}=e^{i}+\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{b}\Big{)}^{i},~{}~{}b^{\prime i}=b^{i}$

It is interesting to note that the scaling relations for the fields may be
derived directly using boost transformations. The appropriate boost
transformations are reproduced for the scaling relations given in table 2.
This provides an additional justification for taking those relations. Now to
proceed further one has to compare the module of the electric field with that
of the magnetic field. So for the electric limit, where electric field is
dominating than the magnetic field, we get

$\displaystyle|E|>>|B|;~{}$ (54) $\displaystyle e^{\prime i}=e^{i}~{};$ (55)
$\displaystyle b^{\prime
i}=b^{i}-\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{e}\Big{)}^{i}~{}.$
(56)

One can clearly see from the electric limit condition 54 that scaling relation
provided in the first row of table 2 is justified in the $c\to 0$ limit.
Similarly for the magnetic limit we get,

$\displaystyle|E|<<|B|;~{}$ (57) $\displaystyle e^{\prime
i}=e^{i}+\frac{1}{\omega^{2}}\Big{(}\vec{\omega}\times\vec{b}\Big{)}^{i}~{};$
(58) $\displaystyle b^{\prime i}=b^{i}~{}.$ (59)

Again the scaling relation given in the second row of table 2 is justified
from the magnetic limit condition given in eqn 57. From the above relations
one can derive the transformations of the potentials in both electric and
magnetic limits.

##  VII Gauge symmetry

We know in the relativistic case the Maxwell action, given by (29) along with
(30), is invariant under the following gauge transformation,

$\delta A^{\mu}=\partial^{\mu}\alpha~{},$ (60)

where $\alpha$ is an arbitrary function of spacetime. Now we consider two
sectors of the Carroll limit.

Electric limit:
In electric limit we deduce following relations:

$\displaystyle\delta A^{0}=\partial^{0}\alpha\implies\delta
a^{0}=-\frac{1}{c}\partial_{t}\alpha~{};$ (61)

and

$\displaystyle\delta A^{i}=\partial^{i}\alpha\implies c\delta
a^{i}=\partial^{i}\alpha\implies\delta
a^{i}=\frac{1}{c}\partial^{i}\alpha~{}.$ (62)

Now one can verify that the variation of the action (32) under (61) and (62)
vanishes:

$\displaystyle\delta\mathcal{L}_{e}=\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}\Big{(}\partial_{t}\delta
a^{i}+\partial^{i}\delta a^{0}\Big{)}-\frac{c^{2}}{2}(f^{ij})(\delta f^{ij})$
$\displaystyle=\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}\Big{(}\frac{1}{c}\partial_{t}\partial^{i}\alpha-\frac{1}{c}\partial^{i}\partial_{t}\alpha\Big{)}-\frac{c^{2}}{2}(f^{ij})\Big{(}\frac{1}{c}\partial^{i}\partial^{j}\alpha-\frac{1}{c}\partial^{j}\partial^{i}\alpha\Big{)}=0~{}.$
(63)

Hence (61) and (62) define the Carrollian gauge transformations in the
electric limit.

Magnetic limit:
In magnetic limit we deduce following relations:

$\displaystyle\delta A^{0}=\partial^{0}\alpha\implies c\delta
a^{0}=-\frac{1}{c}\partial_{t}\alpha\implies\delta
a^{0}=-\frac{1}{c^{2}}\partial_{t}\alpha~{};$ (64) $\displaystyle\delta
A^{i}=\partial^{i}\alpha\implies\delta a^{i}=\partial^{i}\alpha~{}.$ (65)

Like earlier, here also the action (39) is invariant under these
transformations:

$\displaystyle\delta\mathcal{L}_{m}=\Big{(}\frac{1}{c}\partial_{t}a^{i}+c\partial^{i}a^{0}\Big{)}\Big{(}\frac{1}{c}\partial_{t}\delta
a^{i}+c\partial^{i}\delta
a^{0}\Big{)}-\frac{1}{2}\Big{(}f^{ij}\Big{)}\Big{(}\delta f^{ij}\Big{)}$
$\displaystyle=\Big{(}\frac{1}{c}\partial_{t}a^{i}+c\partial^{i}a^{0}\Big{)}\Big{(}\frac{1}{c}\partial_{t}\partial^{i}\alpha-\frac{1}{c}\partial^{i}\partial_{t}a^{0}\Big{)}-\frac{1}{2}\Big{(}f^{ij}\Big{)}\Big{(}\partial^{i}\partial^{j}\alpha-\partial^{j}\partial^{i}\alpha\Big{)}=0~{}.$
(66)

Therefore (64) and (65) construct the required gauge in the magnetic limit.

###  VII.1 Noether current conservation

In relativistic classical field theory the Noether current corresponding to
the symmetry transformation $A_{\mu}\to A_{\mu}+\delta A_{\mu}$ is given by

$\displaystyle
J^{\mu}=\frac{\partial\mathcal{L}}{\partial(\partial_{\mu}A_{\nu})}\delta
A_{\nu}~{}.$ (67)

which is conserved on-shell i.e $\partial_{\mu}J^{\mu}=0$. Note that here
$\delta A_{\mu}$ corresponds to a completely arbitrary symmetry
transformation. Specifically for the gauge transformation, given by (60), the
current takes the form

$J^{\mu}=-F^{\mu\nu}\partial_{\nu}\alpha~{}.$ (68)

Using the equation of motion $\partial_{\mu}F^{\mu\nu}=0$ one can easily show
the conservation of the above current.

Electric limit:
Using the map given in (25) we can have the electric Carrollian currents of
the following forms

$\displaystyle
j^{0}=\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}\partial_{i}\alpha~{};$
(69) $\displaystyle
j^{i}=-\frac{1}{c^{2}}\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}\partial_{t}\alpha-f^{ij}\partial_{j}\alpha~{}.$
(70)

We can show the on-shell conservation of the electric Carrollian currents as
follows:

$\displaystyle\partial_{\mu}J^{\mu}\xrightarrow[]{\text{Electric
limit}}\frac{1}{c}\partial_{t}j^{0}+c\partial_{i}j^{i}\xrightarrow[]{\text{$c\to
0$}}0~{}.$ (71)

In the above at the last stage equations of motion (33) and (34) have been
used.

Magnetic limit:
Using the map given in (27) we can have the magnetic Carrollian currents as

$\displaystyle
j^{0}=\Big{(}\frac{1}{c^{2}}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}\partial_{i}\alpha~{};$
(72) $\displaystyle
j^{i}=-\frac{1}{c}\Big{(}c\partial^{i}a^{0}+\frac{1}{c}\partial_{t}a^{i}\Big{)}\partial_{t}\alpha-f^{ij}\partial_{j}\alpha~{}.$
(73)

In a similar manner using (40) and (41) we can show the on-shell conservation
of the magnetic Carrollian current:

$\displaystyle\partial_{\mu}J^{\mu}\xrightarrow[]{\text{Magnetic
limit}}\partial_{t}j^{0}+\partial_{i}j^{i}\xrightarrow[]{\text{$c\to
0$}}0~{}.$ (74)

##  VIII Shift symmetry

We know that Goldstone’s theorem is a crucial input of the study of low-energy
effective lagrangians implying that whenever a global symmetry is
spontaneously broken, a massless mode will appear. In relativistic theories
this leads to a massless Goldstone particle described by a shift symmetry of
the field

$\phi(x)\to\phi(x)+\mathcal{C}~{},$ (75)

where $\mathcal{C}$ is constant and is characterised by the scalar field
action

$S=\frac{1}{2}\int d^{d}x\partial_{\mu}\phi\partial^{\mu}\phi~{}.$ (76)

The above action is invariant under (75). Since (75) is a global
transformation, the conserved current can be found by exploiting Noether’s
first theorem. This is given by

$\displaystyle
J^{\mu}=\frac{\partial\mathcal{L}}{\partial(\partial_{\mu}\phi)}\delta\phi=\mathcal{C}\partial^{\mu}\phi~{},$
(77)

and the corresponding conservation is demonstrated as

$\partial_{\mu}J^{\mu}=\mathcal{C}\partial_{\mu}\partial^{\mu}\phi=0~{}.$ (78)

The last equality is obtained by using the equation of motion for the scalar
field. Now comeback to the Maxwell theory. In this case the action (29) is
invariant under a constant shift in the four potential:

$A^{\prime\mu}=A^{\mu}+C^{\mu}~{}.$ (79)

Then the conserved current (67) reduces to

$J^{\mu}=\frac{\partial\mathcal{L}}{\partial(\partial_{\mu}A_{\nu})}C_{\nu}~{}.$
(80)

Electric limit
We can define following things

$\displaystyle\delta A^{0}=C_{0}\implies\delta a^{0}=C^{0}~{};$ (81)
$\displaystyle\delta A^{i}=C_{i}\implies c\delta a^{i}=C^{i}\implies\delta
a^{i}=\frac{1}{c}C^{i}~{}.$ (82)

From (32) the components of Noether current are found to be

$\displaystyle
j^{0}=\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}C^{i}~{};\,\,\,j^{i}=-\frac{1}{c}\Big{(}\partial_{t}a^{i}+\partial^{i}a^{0}\Big{)}C_{0}+f^{ij}C^{j}~{}.$
(83)

The current conservation can be explicitly demonstrated as

$\displaystyle\partial_{\mu}J^{\mu}\xrightarrow[]{\text{Electric
limit}}\frac{1}{c}\partial_{t}j^{0}+c\partial_{i}j^{i}\xrightarrow[]{\text{$c\to
0$}}0~{}.$ (84)

Magnetic limit
Now We have the following things

$\displaystyle\delta A^{0}=C^{0}\implies c\delta a^{0}=C^{0}\implies\delta
a^{0}=\frac{1}{c}C^{0}~{};$ (85) $\displaystyle\delta
A^{i}=C_{i}\implies\delta a^{i}=C^{i}~{}.$ (86)

From (39) the components of Noether current are found to be

$\displaystyle
j^{0}=\Big{(}\frac{1}{c}\partial_{t}a^{i}+c\partial^{i}a^{0}\Big{)}~{};\,\,\,\,\
j^{i}=\Big{(}c\partial^{i}a^{0}+\frac{1}{c}\partial_{t}a^{i}\Big{)}C^{i}-f^{ij}C^{j}$
(87)

and corresponding current conservation can be demonstrated as

$\displaystyle\partial_{\mu}J^{\mu}\xrightarrow[]{\text{Magnetic
limit}}\partial_{t}j^{0}+\partial_{i}j^{i}\xrightarrow[]{\text{$c\to
0$}}0~{}.$ (88)

##  IX Conclusions

Let us now summarise the new significant findings of the paper, comparing with
existing results found in the literature.
Non-Lorentzian physics, especially the Carroll type, deserve further study.
For example, nowhere a systematic construction of an action principle was
presented till now. Here in this paper we put forward a formulation to study
the Carrollian physics based on Sengupta’s transformation [18] which is
complementary to the standard Lorentz transformations. We show that using
these transformations one can systematically build up an action formulation
for Carrollian Maxwell theory. A central point of this paper is the
formulation of a consistent dictionary that translates Lorentzian four vectors
in the relativistic theory to their Carrollian counterpart.
Based on this action principle, the equations of motion are derived both for
potential and fields. Their internal consistency has been checked thoroughly.
We observe a duality symmetry between Carrollian electric and magnetic sector.
Explicit demonstration of boost invariance has been presented.
Also, we know gauge symmetries and shift symmetries play a pivotal role in the
understanding of different gauge theories. Since relativistic Maxwell theory
possess both gauge and shift symmetry, it is interesting to observe its
consequence in the Carrollian invariant theory which has been derived by using
the dictionary presented here. We have extensively shown here the
corresponding current conservations for both the symmetries.

Future prospects:

Given the importance of the Carrollian limit, which plays a ubiquitous role in
different arena of physics, following are the issues that we want to address
in near future.
In the present paper we mostly focus on Maxwellian electrodynamics. It is
interesting to use the present formalism to other gauge theories for example
Proca model, Born-Infeld theory, Chern-Simons theory etc. Some works have been
done in this direction in recent time but we believe they are far from
complete. At least none of these works provided any systematic action
formalism. The Hamiltonian formalism in the context of Carrollian relativistic
theory is also another aspect that we want to look at.
Carroll limit plays important role in different, gravitational aspects
particularly in the context of gravitational waves and memory effects [21,
22]. We would like to do some further study of memory effect from Carroll
symmetry point of view. We believe our study will shed some important light on
the unknown corners.
We know that ever since its inception, there have been numerous attempts to
extend the original holographic AdS/CFT correspondence to include
asymptotically flat spacetime or de-Sitter spacetime. Fluid/gravity
correspondence have been considered as a promising way out to reach final
construction of flat space holography. The non-relativistic hydrodynamics play
an important role due to the incomplete understanding on the role played by
the null infinity. It is well established that the stretched horizon in the
membrane paradigm is described by Galilean hydrodynamics [33]. However it is
recently shown in [26] that the boundary fluids which are holographically dual
to Ricci-flat spacetimes, are described by Carrollian hydrodynamics. Hence
both Galilean and Carrollian limit play important role [26, 27, 28]. We want
to look into both Galiean and Carrollian aspects of hydrodynamics in near
future.

## Acknowledgements

Two of the authors (RB and SB) acknowledge the support from a DAE Raja Ramanna
Fellowship (grant no: 1003/(6)/2021/RRF/R$\&$D – II/4031, dated: 20/03/2021).
The other author (BRM) is supported by Science and Engineering Research Board
(SERB), Department of Science $\&$ Technology (DST), Government of India,
under the scheme Core Research Grant (File no. CRG/2020/000616).

## References

  * [1] M. Taylor, Non-relativistic holography, arXiv:hep-th/0812.0530.
  * [2] O. Andreev, M. Haack and S. Hofmann, Phys. Rev. D 89, 064012 (2014) doi:10.1103/PhysRevD.89.064012 [arXiv:1309.7231 [hep-th]].
  * [3] O. Andreev, Phys. Rev. D 91, no. 2, 024035 (2015) doi:10.1103/PhysRevD.91.024035 [arXiv:1408.7031 [hep-th]].
  * [4] K. Jensen and A. Karch, JHEP 1504, 155 (2015) doi:10.1007/JHEP04(2015)155 [arXiv:1412.2738 [hep-th]].
  * [5] R. Banerjee and P. Mukherjee, Phys. Rev. D 93, no. 8, 085020 (2016) doi:10.1103/PhysRevD.93.085020 [arXiv:1509.05622 [gr-qc]].
  * [6] R. Banerjee, S. Gangopadhyay and P. Mukherjee, Int. J. Mod. Phys. A 32, no. 19n20, 1750115 (2017) doi:10.1142/S0217751X17501159 [arXiv:1604.08711 [hep-th]].
  * [7] B. Grinstein and S. Pal, Phys. Rev. D 97, no. 12, 125006 (2018).
  * [8] A. Jain, Phys. Rev. D 93, no. 6, 065007 (2016).
  * [9] R. Banerjee and P. Mukherjee, Subtleties of nonrelativistic reduction and applications, Nucl. Phys. B 938, 1 (2019), [arXiv: 1801.08373].
  * [10] K. Morand, Embedding Galilean and Carrollian geometries I. Gravitational waves, Journal of Mathematical Physics 61, 082502 (2020), [arXiv:1811.12681 [hep-th]].
  * [11] M. L. Bellac and J.-M. Levy-Leblond, Galilean Electromagnetism, Nuovo Cimento. 14B (1973).
  * [12] E. S. Santos, M. de Montigny, F. C. Khanna and A. E. Santana, Galilean covariant Lagrangian models, J. Phys. A 37 (2004) 9771.
  * [13] C. Duval, G. W. Gibbons, P. A. Horvathy and P. M. Zhang, Carroll versus Newton and Galilei: two dual non-Einsteinian concepts of time, Class. Quant. Grav. 31 (2014) 085016 [1402.0657].
  * [14] R. Banerjee and S. Bhattacharya, New formulation of Galilean relativistic Maxwell theory, Phys. Rev. D. 107, 105022 (2023), [arXiv: hep-th/2211.12023].
  * [15] R. Banerjee and S. Bhattacharya, Action principle of Galilean relativistic Proca theory, Eur. Phys. J. C 83, 916 (2023), [arXiv: hep-th/2303.13066].
  * [16] R. Banerjee, S. Bhattacharya and B. R. Majhi, Formulation of Galilean relativistic Born–Infeld theory, Eur. Phys. J. C 84, 141 (2024), [arXiv: 2309.00326].
  * [17] Lévy-Leblond J.-M., “Une nouvelle limite non-relativiste du group de Poincaré”, Ann. Inst. Henri Poincare 3 1 (1965).
  * [18] N. D. Sengupta, “On an Analogue of the Galilei Group”, Nuovo Cim. 54 (1966) 512, DOI: 10.1007/BF02740871.
  * [19] H. Bondi, M. G. van der Burg, and A. W. Metzner, “Gravitational waves in general relativity. 7\. Waves from axisymmetric isolated systems,” Proc. Roy. Soc. Lond. A 269 (1962) 21.
  * [20] C. Duval, G. W. Gibbons, P. A. Horvathy, “Conformal Carroll groups and BMS symmetry,” Class. Quant. Grav. 31 (2014) 092001 [arXiv:1402.5894 [gr-qc]].
  * [21] C. Duval, G. W. Gibbons, P. A. Horvathy and P. M. Zhang, “Carroll symmetry of plane gravitational waves,” Class. Quant. Grav. 34 (2017) no.17, 175003 [arXiv:1702.08284 [gr-qc]].
  * [22] P.-M. Zhang, C. Duval, G. W. Gibbons and P. A. Horvathy, “The Memory Effect for Plane Gravitational Waves,” Phys. Lett. B 772 (2017) 743. [arXiv:1704.05997 [gr-qc]].
  * [23] L.Marsot, P.-M. Zhang, M. Chernodub, P.A. Horvathy, “Hall motions in Carroll dynamics,” Phys. Rept. 1028 (2023), [arXiv:hep-th/2212.02360].
  * [24] P. Tadros and I. Kolář, “Carrollian limit of quadratic gravity”, Phys. Rev. D 108, 124051 (2023), [arXiv:2307.13760].
  * [25] Poula Tadros and Ivan Kolář, “Uniqueness of Galilean and Carrollian limits of gravitational theories and application to higher derivative gravity”, [arXiv: 2401.00967 ].
  * [26] L. Ciambelli, C. Marteau, A. C. Petkou, P. M. Petropoulos and K. Siampos, “Flat holography and Carrollian fluids,” JHEP 07 (2018), 165 [arXiv:1802.06809 [hep-th].
  * [27] A. C. Petkou, P. M. Petropoulos, D. R. Betancour and K. Siampos, “Relativistic Fluids, Hydrodynamic Frames and their Galilean versus Carrollian Avatars,” JHEP 09 (2022) 162, [arXiv:2205.09142 [hep-th]].
  * [28] L. Donnay, A. Fiorucci, Y. Herfray, R. Ruzziconi, “Carrollian Perspective on Celestial Holography”, Phys. Rev. Lett. 129 071602 (2022).
  * [29] A. Bagchi, A. Mehra, P. Nandi, “Field Theories with Conformal Carrollian Symmetry”, JHEP 1905 (2019) 108, [arXiv: hep-th/1901.10147].
  * [30] J. -M. Lévy-Leblond, “On the unexpected fate of scientific ideas: An archeology of the Carroll group”, [arXiv:2212.14812].
  * [31] Rabin Banerjee. “Hamiltonian formulation of higher rank symmetric gauge theories,” Eur. Phys. J. C 82, 1 (2022) [arXiv: 2105.04152].
  * [32] R. Banerjee and A. Chakraborty, “Shift symmetries and duality web in gauge theories,” Nucl. Phys. B, Volume 996, 2023, [arXiv: 2210.12349 ].
  * [33] T. Damour, “Black Hole Eddy Currents,” Phys. Rev. D 18 (1978) 3598.