For example, I wish to make both pulse cannons and laser beam available for research once you have completed any of the following: heavy laser cannon, laser autocannon, large laser turret, X-large laser turret; or pulse cannons available once medium laser turret is researched.
-->
heavy laser cannon UNLOCKS: STR_PCLB_AVAILABLE
laser autocannon UNLOCKS: STR_PCLB_AVAILABLE
large laser turret UNLOCKS: STR_PCLB_AVAILABLE
X-large laser turret UNLOCKS: STR_PCLB_AVAILABLE
STR_PCLB_AVAILABLE
DEPENDENCIES: heavy laser cannon (need only one dependency to make sure it isn't available from the start)
UNLOCKS: pulse cannon, laser beam
medium laser turret UNLOCKS: pulse cannon
pulse cannon DEPENDENCIES: medium laser turret, STR_PCLB_AVAILABLE
laser beam REQUIRES: STR_PCLB_AVAILABLE
...that should work. I think. I like to use those kinds of "proxies", because usually it's about underlying principles: in your example, the four laser technologies give your researchers some kind of technological insight represented by the "hidden" research topic "STR_PCLB_AVAILABLE", which then enables you to research pulse cannon and laser beam.
if you later add another tech that should give the same insight, fitting it in will be easy this way.